티스토리 뷰

반응형

이전 공부

2020/12/01 - [코딩 공부] - 스위프트 플레이그라운드로 코딩 공부하기 6. While 루프

 

스위프트 플레이그라운드로 코딩 공부하기 6. While 루프

이제 while 루프를 배울 차례가 되었습니다. 지금까지 앱 이름이 플레이그라운드 스위프트인 줄 알았는데 스위프트 플레이그라운드가 정확한 명칭이었네요...ㅋㅋ 약 5개의 포스트는 플레이그라

hgu-can.tistory.com

 

드디어 코딩 배우기 1의 마지막 챕터 알고리즘에 왔습니다. 

와~ 짝짝짝!

나를 이렇게까지 이끌어 준 건 스위프트 플레이그라운드밖에 없다며...

넌 나의 별이고 하늘이고 어쩌고저쩌고... (대충 많이 사랑한다는 뜻)

 

 

 

대망의 알고리즘 파트 첫 번째 문제는 벽들 사이에 있는 보석을 수집하는 것인데 트랙처럼 있는 벽들의 길이가 매번 바뀝니다. 그래서 벽의 길이에 따라 다르게 움직이는 코드를 짜야 합니다. 

벽을 따라 오른쪽으로 턴 하는 함수를 만든 다음 마지막에 도달하는 곳은 스위치이기 때문에 클로즈드 스위치가 있는 곳에 가면 종료되도록 while 반복문을 만들었습니다. 

그리고 마지막으로 토글 스위치를 해서 스테이지 클리어!

이 코드 짜 보기 전 까진 while이나 for같은 반복문 다음에 toggleSwitch()같이 함수 코드는 못 쓰는 줄 알고 꾸역꾸역 반복문으로만 되는 코드를 짰었는데(그래서 지금 보면 이상한 코딩이 많은 듯) 이 스테이지 하면서 상관없다는 걸 알아서 좀 허탈했습니다...

초보자의 오해... ㅠㅠ

이제라도 알아서 다행이지 뭐........

 

 

 

두 번째도 아까와 비슷하게 벽 사이에 숨어 있는 보석을 수집하고 스위치를 켜는 것입니다. 

이것 역시 벽을 따라 전진한 후 오른쪽으로 돌게 하는 함수를 만들고 아까와 같은 반복문 조건을 써서 해결했습니다. 

역시 한 번 끙끙 앓고 오면 다음부턴 쉬워진다...

 

 

 

세 번째는 저 끝에 있는 보석 하나를 수집하면 되는데 이것도 처음에 좀 헤맸었습니다. 

힌트에는 오른쪽 벽을 따라 가면 된다고 하는데 그렇게 해 보니까 저기 별 표시 해 놓은 곳에 가면 좌회전하지 않고 직진해서 엉뚱한 곳으로 가거든요. 

그래서 계속 저기서 중단하고 이런저런 코드를 짜 보다가 인터넷에 찾아보니까 저랑 똑같은 코드를 썼는데 통과가 되었다는 분이 계셨습니다. 그래서 힌트를 한 번 더 읽어보니까 결국엔 끝에 도달한다고 믿으라 그러고... 그래서 실행해 봤더니 저 끝에 갔다가 다시 되돌아 나와서 보석이 있는 곳으로 가네요...

못 믿어서 미안...

 

 

 

네 번째는 계단들을 타고타고 스위치들을 켜고 마지막에 보석을 수집하기입니다. 

이번에도 벽 따라 이동하는 함수를 만든 다음 while 루프에 넣어서 반복시키기. 

그리고 마지막 보석칸에 와서 반복문이 종료되면 콜렉트젬으로 보석을 수집했습니다. 

 

 

 

다섯 번째는 끝에서 끝으로 이동하면서 보석을 수집하고 스위치를 켜기입니다. 

이것 또한 마지막 도전 과제 답게 끙끙 앓았던 기억이 나는데 조건에 따라 이동하면서 회전하는 함수를 만든 다음 for 루프로 풀었습니다. 

이 때 까진 while 루프를 잘 못 써서(적당한 조건을 못 찾아서 ㅠㅠ) for 루프를 더 많이 썼었습니다. 

 

혹시 더 좋은 코딩을 아신다면 댓글 달아주세요!

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함