백준 풀이 🍪

백준 1284번 <집 주소>

섭웨이 2022. 8. 9. 13:29
백준 1284번 <집 주소>
(브론즈 3)

https://www.acmicpc.net/problem/1284

 

제가 짠 코드인데...

코드가 복잡하고 지저분한 걸 떠나서 arr 배열이 중복적으로 사용되는 오류가 생기더라구요😢

30분 정도 붙잡고 있다가 더 이상은 비효율적이라고 판단,

다른 분이 짜신 코드를 좀 구경해 보았습니다.

 

 for of 반복문을 사용하셨네요.

 

여러 줄로 입력받은 input을 줄 단위로 나누어서

str이라는 변수로 할당, 만약 str의 값이 0이면 종료 (break;)

그리고 각각의 str을 쪼개어 spl이라는 배열 생성

 

res 변수 설정 1 + str.length --> 고정 값 ( 예를 들어 1,2,0 이면 양 끝의 한자리, 숫자들 사이 한자리 씩 = 총 4)

 

spl 배열의 각 요소들을 반복해서 (for of) 1이면 +2, 0이면 +4, 나머지는 +3

 

최종 값 res 출력

 

for of 문

일반적으로 배열에 많이 사용되는데, 배열의 각 요소 개수만큼 반복되고, 반복 때마다 각 요소들을 사용할 수 있는 변수가 생성됩니다.

 

기본적으로 for 문과 비슷한 모양을 하고 있지만 소괄호 내부에 세미콜론으로 구분되는 구간이 없고,

변수 하나와 of 키워드, 그리고 반복 할 배열을 입력해주고, 매 반복 때마다 동작할 구문은 중괄호 안에 넣어주면 됩니다.

 

for..of 문은 말 그대로 for 반복문의 변형이기 때문에 도중에 break 혹은 continue문을 사용할 수도 있습니다.

그래서 만일 반복 도중에 반복을 제어해야될 경우에는 for.. of를 사용하는 것이 좋습니다.