본문 바로가기
👩‍💻 Programming/Coding Test 문제 풀이

[이코테] 구현_상하좌우(파이썬/자바스크립트)

by codingBear 2022. 12. 10.
728x90
반응형

이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다.

 

이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고

이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나

product.kyobobook.co.kr


👨‍💻 문제


정답 코드

답안 1

 

 

답안 2

파이썬 Ver.

자바스크립트 Ver.


문제 풀이 및 접근 방법

 처음엔 이중 배열을 만들어서 풀어야 하나 고민했지만 잘 살펴보니 움직임에 따라 x, y의 변수값만 바꿔주면 되는 문제여서 상하좌우에 따라 x 혹은 y의 값을 증감하는 식으로 풀었다. 이때 x나 y의 값이 1보다 작거나 n보다 커지는 경우 continue로 넘겨 다음 연산을 하게 했고 1보다 크고 n보다 작다면 x나 y에 1씩 증감 계산을 하도록 코드를 짰다.

 모범 답안의 경우 상하좌우에 따른 움직임을 나타내기 위해 dx, dy, move_types라는 배열을 미리 선언해놓고 증감 계산을 하는데 나의 풀이와 마찬가지로 증감한 값이 1보다 작거나 n보다 크다면 continue로 계산을 건너뛴다. 

 이때 x는 행(row), y는 열(column)을 나타내며 상하(U, D)는 행의 변화, 좌우(L, R)는 열의 변화를 나타낸다.


함께 보기

해설 영상

728x90
반응형

댓글