-
[백준 문제풀이] 얼렁뚱땅 1063번 킹 문제풀이얼렁뚱땅 백준 문제풀이 2022. 4. 29. 22:30
https://www.acmicpc.net/problem/1063 import sys dict_ = {'A':0, 'B':1, 'C':2, 'D':3, 'E':4, 'F':5, 'G':6, 'H':7} dict_reverse = dict(map(reversed, dict_.items())) king, rock, num = sys.stdin.readline().split() real_king = [int(king[1])-1,dict_[king[0]]] real_rock = [int(rock[1])-1,dict_[rock[0]]] moving = [sys.stdin.readline().strip() for i in range(int(num))] dic_moving = {'R':[0,1],'L':[0,-1],'B':[-1,0],'T':[1,0], 'RT':[1,1], 'LT':[1,-1], 'RB':[-1,1], 'LB':[-1,-1]} for i in range(int(num)) : king_temp_x = real_king[0]+dic_moving[moving[i]][0] king_temp_y = real_king[1]+dic_moving[moving[i]][1] rock_temp_x = real_rock[0]+dic_moving[moving[i]][0] rock_temp_y = real_rock[1]+dic_moving[moving[i]][1] if king_temp_x>=8 or king_temp_y>=8 or king_temp_x<=-1 or king_temp_y<=-1 : continue if [king_temp_x, king_temp_y] == real_rock : if rock_temp_x>=8 or rock_temp_y>=8 or rock_temp_x<=-1 or rock_temp_y<=-1 : continue else: real_king[0] = king_temp_x real_king[1] = king_temp_y real_rock[0] = rock_temp_x real_rock[1] = rock_temp_y else : real_king[0] = king_temp_x real_king[1] = king_temp_y print(dict_reverse[real_king[1]]+str(real_king[0]+1)) print(dict_reverse[real_rock[1]]+str(real_rock[0]+1))
import sys king, rock, num = sys.stdin.readline().split() real_king = [int(king[1])-1,ord(king[0])-65] real_rock = [int(rock[1])-1,ord(rock[0])-65] moving = [sys.stdin.readline().strip() for i in range(int(num))] dic_moving = {'R':[0,1],'L':[0,-1],'B':[-1,0],'T':[1,0], 'RT':[1,1], 'LT':[1,-1], 'RB':[-1,1], 'LB':[-1,-1]} for i in range(int(num)) : king_temp_x = real_king[0]+dic_moving[moving[i]][0] king_temp_y = real_king[1]+dic_moving[moving[i]][1] rock_temp_x = real_rock[0]+dic_moving[moving[i]][0] rock_temp_y = real_rock[1]+dic_moving[moving[i]][1] if king_temp_x>=8 or king_temp_y>=8 or king_temp_x<=-1 or king_temp_y<=-1 : continue if [king_temp_x, king_temp_y] == real_rock : if rock_temp_x>=8 or rock_temp_y>=8 or rock_temp_x<=-1 or rock_temp_y<=-1 : continue else: real_king[0] = king_temp_x real_king[1] = king_temp_y real_rock[0] = rock_temp_x real_rock[1] = rock_temp_y else : real_king[0] = king_temp_x real_king[1] = king_temp_y print(chr(real_king[1]+65)+str(real_king[0]+1)) print(chr(real_rock[1]+65)+str(real_rock[0]+1))
사실 코테 문제 풀면서 A -> 1 이런식으로 변환해서 풀어야하는 문제가 많았다
그때마다 사실 몰라서 Dictionary로 했는데
ord('A') 는 65로 변환이 된다는 것을 오늘 알았따
그리고 이걸 다시 char로 바꾸고 싶으면 chr(65) -> A
소문자 a 는 97
옛날에 산프에서 배웟던거같은데 푸항 모르겟당 키키
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 15559 내 선물을 받아줘 풀이 (0) 2022.04.30 [백준 문제풀이] 얼렁뚱땅 21736번 헌내기는 친구가 필요해 풀이 (0) 2022.04.30 [백준 문제풀이] 얼렁뚱땅 1713번 후보 추천 풀이 (0) 2022.04.20 [백준 문제풀이] 얼렁뚱땅 16208번 귀찮음 풀이 (0) 2022.04.20 [백준 문제풀이] 얼렁뚱땅 2644번 촌수계산 풀이 (0) 2022.04.19