www.acmicpc.net/problem/8393
백준 8393
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
for(int i = 1; i <= n; i++){
sum += i; // sum에 i를 더한다.
} // for문
System.out.println(sum);
sc.close();
} // main
} // Main class
// 공식을 안다면 사용할 수 있는 방법, 추천하지는 않습니다.
for( int i = 1; i <= n; i++){ }
System.out.println( ( n * ( n + 1) ) / 2);
이번 문제는 대입 연산자를 아는지 묻는 문제라고 생각합니다.
[대입 연산자]
대입 연산자의 진행방향은 오른쪽에서 왼쪽으로 진행됩니다.
그래서 오른쪽 항의 값이 왼쪽 항의 변수에 저장됩니다.
대입 연산자는 [변수] [대입 연산자] [리터럴 및 변수, 다른 연산식] 방식으로 사용합니다.
연산자의 종류에는 오른쪽 항의 값을 왼쪽 변수에 저장하는 단순 대입 연산자인 ' = '가 있고,
정해진 연산을 먼저 수행한 후 결과를 변수에 저장하는 복합 대입 연산자도 있습니다.
쉽게 말해서 복합 대입 연산자는 [산술 연산자 + ' = ' ] 이라고 생각하시면 됩니다.
이해를 돕기 위해 복합 대입 연산자에 대한 예를 보여드리겠습니다.
a = 3, b = 2, c = 1
a += b += c
b = b + c // b = 2 + 1 -> b = 3
a = a + b // a = 3 + 3 -> a = 6
// 최종 결과
a = 6
b = 3
c = 1
1) a += ( b = b + c ) / a += (b = 2(b) + 1(c) ) // b = 3
2) a = a + b( a = 3(a) + 3(b) ) // a = 6
결과적으로 a = 6, b = 3, c = 1의 값이 나옵니다.
'백준 알고리즘 - JAVA8 > 3단계 for문' 카테고리의 다른 글
[백준 자바 2742, 11021, 11022 ] 기찍 N, A+B -7,8 (0) | 2021.01.03 |
---|---|
[백준 자바 2741] N 찍기 (0) | 2021.01.02 |
[백준 자바 15552] 빠른 A + B (0) | 2021.01.02 |
[백준 자바 10950] A+B -3 (0) | 2020.12.30 |
[백준 자바 2739] 구구단 (0) | 2020.12.30 |
최근댓글