프로그래머스 java lv0 길이에 따른 연산
문제 요약 : 숫자 배열의 길이가 11 이상이면 각 요소들을 더하고, 10 미만이면 곱해라
고려할 사항 :
1. 각 요소들을 돌아가면서 곱하거나 더하는 방법 -> 배열이니까 for문을 쓴다
2. 배열 길이가 11 이상인지 10 미만인지 확인하는 방법 -> if- else문을 써서 확인
3. answer이 0으로 초기화 되어있다. 곱하기 위한 방법은? -> 0에서 어떠한 수를 곱해봤자 0이다. 그러니 길이가 10 미만일 땐, 1로 초기화해줘야 한다.
답안 :
우선 제가 애먹었던 부분은 곱하는 부분입니다. answer이 0으로 초기화가 되어있어서 else 문에 그냥 answer = 1;이라고 재 초기화를 해줬었어요. 근데 계속 5가 나오더라고요. (test 배열 [1,2,3,4,5])
ex)
else {
answer = 1;
answer *= num_list[i];
}
그래서 보니까 for문으로 돌리니 계속 answer 가 1로 초기화가 되는 것이고, i는 계속 ++되고 있으니 배열의 마지막 값인 5가 출력되는 것이었습니다.. 후.. 이렇게 하나를 또 알아가네요.. 정말 많이 부족하네요
각설하고, 그래서 answer의 초기화 부분을 for문 밖으로 빼서 전역 연산자로 만들어 줬습니다.
좀 신박하게 표현하고 싶어서 삼항 연산자로 표현해 봤더니 뭔가 코드가 세련된 거 같네요 호호호
레벨이 뭐가 중요하겠습니까.
포기하지 않고 성장하고 싶은 이 열정이 중요하죠
자바 이 녀석을 정복할 날까지 포기하지 않을 마음을 가지고 있는 게 중요하겠죠
뭐.. 이제 잘 알았으니 다음부터는 주의해서 잘 풀어봐야겠어요.
낙담하지 말자ㅏ아ㅏㅏㅏ