컴퓨터공학 💻 도서관📚
구현 유형 문제 . 2 본문
n = int(input())
x,y = 1, 1 # 이렇게 초기화하는 것도 가능하구나!
plans = input().split() # 한 줄에 여러 문자를 입력받기
dx = [0, 0, -1, 1] # 왼쪽부터 차례대로 L, R, U, D
dy = [-1, 1, 0, 0]
move_types = ['L', 'R', 'U', 'D']
for plan in plans:
for i in range(len(move_types)):
if plan == move_types[i]: # 같은 인덱스 번호로 저장했음을 이용
nx = x + dx[i] # 방향벡터
ny = y + dy[i]
if nx < 1 or ny < 1 or nx > n or ny > n: # 영역을 벗어나면 무시
continue # x,y에 값 대입 안하고 for문 첫번째로 돌아가기
x, y = nx, ny # 계산된 값을 x,y에 저장
print(x, y)
for + if 연계 디테일
일단 계산을 하고 , # 모든 경우에서 수행해야 하는 코드
if로 조건 확인 ,
잘못된 값이면 continue로 돌려보내고 , 올바른 값이면 최종 변수에 저장하기
추가 복습 : 2024.10.22 화
n = int(input())
x,y = 1, 1 # 이렇게 초기화하는 것도 가능하구나!
plans = input().split() # 한 줄에 여러 문자를 입력받기
data = [(0, -1), (0, 1), (-1, 0), (1, 0)] # 리스트 안에 있는 2차원 튜플
move_types = ['L', 'R', 'U', 'D']
for plan in plans:
for i in range(len(move_types)):
if plan == move_types[i]: # 같은 인덱스 번호로 저장했음을 이용
nx = x + data[i][0] # 2차원 배열 활용
ny = y + data[i][1]
if nx < 1 or ny < 1 or nx > n or ny > n: # 영역을 벗어나면 무시
continue # x,y에 값 대입 안하고 for문 첫번째로 돌아가기
x, y = nx, ny # 계산된 값을 x,y에 저장
print(x, y)
2차원을 활용 :
리스트 안에 있는 2차원 튜플
튜플 : 고정값 / ( ) 튜플은 소괄호 사용
'✅🌲강의 복습 노트 > 이코테2021 알고리즘 훈련' 카테고리의 다른 글
구현 유형 문제 . 4 (0) | 2024.10.22 |
---|---|
구현 유형 문제 . 3 (0) | 2024.10.22 |
구현 유형 설명 . 1 (0) | 2024.10.19 |
그리디 유형 문제 . 4 (0) | 2024.10.19 |
그리디 유형 문제 . 3 (0) | 2024.10.18 |
Comments