728x90
문제를 풀때 삼성 문제답게 쪼개서 생각하는 것이 중요했습니다. 어항을 정리하는 두 개의 함수와 물고기를 옮기는 함수를 구현할 수 있습니다.
첫 번째 어항을 정리하는 과정은 문제에 설명하는 것을 다시 생각해보면 다음과 같이 달팽이 문제처럼 어항을 말아 올리는 과정을 구현하라는 것입니다.
1.
a b c d e f g h i j k
2.
a
b c d e f g h i j k
3.
b a
c d e f g h i j k
4.
c b
d a
e f g h i j k
5.
e d c
f a b
g h i j k
두 번째 어항을 정리하는 과정은 다음과 같이 생각해볼 수 있습니다.
1.
a b c d e f g h
2.
d c b a
e f g h
3.
f e
c d
b a
g h
즉, 배열을 4구역으로 나눈 뒤 3번째(역방향), 2번째(정방향), 1번째(역방향), 4번째(정방향) 순으로 저장하는 함수로 구현할 수 있습니다.
728x90