162문제 2번에서 괄호 4,5에 관해서 질문이 있어요.
다른것들은 다 이해가 가는데
4,5번에 EVEN=EVEN+G 랑 ODD=ODD+G가 답인데
G가 붙는 이유를 잘모르겠어요 ㅠㅠ
혹시 +1이 붙는거는 안되는건가요??
안녕하세요.
이 알고리즘은 홀수와 짝수를 구분해서 합을 구하는 문제입니다.
홀수는 ODD에 누적이되고
짝수는 EVEN에 누적이 됩니다.
A에 B를 누적할 때 A = A + B로 표현합니다.
그럼
홀수를 누적할 때는 ODD = ODD + ?
짝수를 누적할 때는 EVEN = EVEN + ?
여기서 누적할 대상이 있어야 합니다. 그 누적할 대상이 바로 G입니다.
그래서 ODD = ODD + G, EVEN = EVEN + G가 되는 것입니다.
그냥 1씩만 더하면 이건 홀수나 짝수의 개수를 구하는 것이 됩니다.
하지만 문제에서 요구하는 것은 1-2+3-4+5 ... 와 같이 증가하는 수열의 항에 대해 홀수는 양수를 더하지만 짝수는 음수를 더합니다.
그래서 1부터 값이 변경될 때마다 한번은 더하고 한번은 빼는 과정을 수행하도록 S 변수를 이용해 부호의 변화를 준 것입니다.
결국 G는 수열의 항에 부호를 적용한 값이 되는 것이죠.
오늘도 즐거운 하루 되세요.
-
*2017-06-09 10:29:04
안녕하세요.
이 알고리즘은 홀수와 짝수를 구분해서 합을 구하는 문제입니다.
홀수는 ODD에 누적이되고
짝수는 EVEN에 누적이 됩니다.
A에 B를 누적할 때 A = A + B로 표현합니다.
그럼
홀수를 누적할 때는 ODD = ODD + ?
짝수를 누적할 때는 EVEN = EVEN + ?
여기서 누적할 대상이 있어야 합니다. 그 누적할 대상이 바로 G입니다.
그래서 ODD = ODD + G, EVEN = EVEN + G가 되는 것입니다.
그냥 1씩만 더하면 이건 홀수나 짝수의 개수를 구하는 것이 됩니다.
하지만 문제에서 요구하는 것은 1-2+3-4+5 ... 와 같이 증가하는 수열의 항에 대해 홀수는 양수를 더하지만 짝수는 음수를 더합니다.
그래서 1부터 값이 변경될 때마다 한번은 더하고 한번은 빼는 과정을 수행하도록 S 변수를 이용해 부호의 변화를 준 것입니다.
결국 G는 수열의 항에 부호를 적용한 값이 되는 것이죠.
오늘도 즐거운 하루 되세요.