백준 풀이 🍪
백준 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를 사용하는 것이 좋습니다.