본문 바로가기
개발일지

231030 홀짝 구분하여 정수의 합, 제곱의 합 구하기

by 흘림보 2023. 10. 30.

 

프로그래머스 문제! 

언리얼에서 총알을 홀짝으로 구분해서 크기가 다르게 나오도록 한걸 배워서 프로그래머스에서도 비슷한 문제를 골라보았다.

 

총알이 6개가 겹치지않게 따로 나오라는 조건이 있어서 이중 for문으로 배열처럼 해서 넣었던듯

여기서 중요한건 나는 for문 속 조건식이 열과 행을 결정하는줄 알았는데

(왜냐면 바깥 for문이 먼저 한번 실행하고 안쪽 for문이 끝까지 반복된 뒤 또 바깥으로 넘어가니까,,)

근데 그게아니라 _spawnOffset = FVector ( i * 250, j * 100, 0); 이부분이 위치를 결정한단다. 벡터니까!

 

그래서 하여간 내 문제풀이는 처음에 

if문 속에 for문 까지만 넣었었다.

 

그러면 for문 속에서 반복될 숫자에서는 홀수를 고르지 못하게 된다.

그래서 안에 한 번 더 if문을 넣어서 홀수라면, 을 또 넣어주어야한다.

 

이때 주의할 점은 return은 for문 밖에 두어야한다는 것!

안에 두면 리턴까지 반복되어서 첫번째 홀수 1값이 리턴되어버린다.

하나 더 배워 간것은 for문을 사용할 때,

for (int i = 0; i >0 && i < n ; i++) 

초기식 쓰고, i가 0보다 크고 n보다 작을 때, 라고 조건식을 썼었는데, 

이렇게 쓰는 것보다 반대로 

 

for (int i = n; i > 0; i--)

이렇게 써서, 인트형 i 바구니에 n(받은 숫자)을 대입하고, i 가 0보다 클때까지 (음수가 되는걸 방지) i를 하나씩 뺀다.

로 쓰는게 더 효율적이다.

 

채점 후 볼 수 있는 다른 사람의 풀이

while문을 써서

아주 간략히 표현 하신 분도 있음,, 

 

나는 if문 -> for문 -> if문을 썼는데

여기서는 for문 속 증가를 i+=2 로해서 if문을 굳이,, 쓰지 않았다. 왜이렇게 생각못햇지?

'개발일지' 카테고리의 다른 글

231106 특수문자 출력하기  (0) 2023.11.06
231106 대소문자 바꿔서 출력하기  (0) 2023.11.06
231023 홀짝 구분하기  (1) 2023.10.23
231023 문자열 돌리기  (2) 2023.10.23
231012 _ 문자열 반복  (0) 2023.10.12