우당탕탕 개발일지
[프로그래머스] 공원 산책 (Java, Level.1) 본문
문제
아래의 표시는 공원을 의미한다.
S | O | O |
O | X | O |
O | O | O |
S : 시작
O : 이동 가능
X : 장애물
[ 이동 방향 ]
N : 위
S : 아래
E : 앞으로
W : 뒤로
현재 위치에서 주어진 방향과 거리만큼 이동하여야 한다.
이동하는 중에 장애물이 있다면 움직이기 전의 위치로 돌아가야 한다.
주어진 이동 명령을 모두 수행 후, 최종 위치를 반환하세요.
입출력 예
풀이
1. 변수
2. 공원 설정
3. 이동
1. 변수
w, h : 공원의 가로 세로
x, y : 현재 좌표
parkArr : 공원 그림
2. 공원 설정
문자열 1차원 배열을 2차원 배열 문자열의 문자 1개씩 저장한다.
시작 지점인 S을 만나면 시작 좌표를 저장한다.
3. 이동
주어진 명령을 기준으로 반복문을 수행한다.
tempX, tempY : 현재 좌표를 저장한다.
move : 이동 방향
count : 이동 거리
이동 거리만큼 반복문을 수행한다.
이동하는 방향은 +가 될수도 -가 될수도 있다. 따라서 이동 거리를 기준으로 반복문을 수행한다.
반복문 안에서 이동 방향에 알맞게 좌표를 1씩 움직인다.
1씩 움직이며 장애물을 만나면 해당 반복문을 빠져나가고 현재 x, y좌표는 재설정하지 않는다.
만약 끝까지 장애물을 만나지 않았더라면 현재 x, y좌표를 재설정하게 된다.
코드
프로그래머스 문제
https://school.programmers.co.kr/learn/courses/30/lessons/172928
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 개인정보 수입 유효기간 (Java, Level.1) (0) | 2024.07.09 |
---|---|
[프로그래머스] 데이터 분석(Java, Level.1) (0) | 2024.07.09 |
[프로그래머스] 신고 결과 받기(Java, Level.1) (0) | 2024.07.08 |
[프로그래머스] 가장 많이 받은 선물(Java, Level.1) (0) | 2024.07.05 |
[프로그래머스] 할인행사(Java, Level.2) (0) | 2024.06.25 |