소개
이번 챌린지에서는 금융 데이터 처리 과정에서 사용되는 복잡한 중첩 루프 구조의 레거시 코드를 리팩토링하는 과제를 수행합니다. 목표는 goto 문을 활용하여 루프 제어 흐름을 단순화함으로써 코드의 가독성과 유지보수성을 높이는 것입니다. 데이터 값 5를 만났을 때 해당 요소를 출력한 후 루프를 즉시 빠져나오도록 프로그램을 구성해야 합니다.
Goto 문을 활용한 중첩 루프 복잡도 해결
금융 데이터 처리 환경에서 복잡하게 얽힌 중첩 루프는 코드를 읽기 어렵게 만들고 유지보수를 방해합니다. 여러분의 임무는 goto 문을 사용하여 이러한 중첩 루프의 제어 흐름을 깔끔하게 리팩토링하는 것입니다.
과제
data_processor.go파일 내의 중첩 루프를goto문을 사용하여 리팩토링하세요.- 값
5를 발견했을 때의 루프 종료 로직을 단순화하세요. - 프로그램을 종료하기 전에 해당 데이터 요소가 출력되도록 하세요.
요구 사항
- 복잡한 중첩 루프 탈출 조건을 대체하기 위해
goto문을 사용해야 합니다. - 솔루션 파일 경로는
~/project/data_processor.go여야 합니다. 5를 찾았을 때, 해당 값을 출력한 후 루프를 종료해야 합니다.- 중첩 루프를 빠져나오기 위해 단 하나의
goto레이블만 사용하세요. - 기존의 데이터 출력 로직을 유지하세요.
- 루프가 종료된 후 반드시
LOOP EXITED가 출력되어야 합니다.
예시
값 5를 만났을 때의 예상 출력 결과는 다음과 같습니다.
go run data_processor.go
1
2
3
4
5
LOOP EXITED
힌트
goto문은 다중 중첩 루프를 한 번에 탈출할 때 로직을 매우 단순하게 만들어 줍니다.goto레이블을 중첩 루프의 바깥쪽에 배치하세요.- 단일 레이블을 사용하여 내부 루프와 외부 루프를 효율적으로 동시에 빠져나올 수 있습니다.
요약
이번 챌린지에서는 금융 데이터 처리 시스템의 복잡한 중첩 루프를 리팩토링해 보았습니다. goto 문을 적절히 활용하여 제어 흐름을 단순화함으로써 코드의 가독성과 유지보수성을 개선하는 방법을 익혔습니다. 특히 특정 조건 (5 발견) 에서 데이터를 출력하고 즉시 다중 루프를 빠져나오는 효율적인 구조를 구현하는 데 집중했습니다.



