<문제> 상하좌우
n = int(input())
x,y = 1,1
dx = [-1,1,0,0]
dy = [0,0,-1,1]
move_types = ['U','D','L','R']
plans = input().split()
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 nx>n or ny<1 or ny>n:
continue
x,y = nx,ny
print(x,y)
<문제> 시각
문제 설명을 듣고 직접 짠 코드
n = int(input())
cnt=0
for h in range(n+1):
for m in range(60):
for s in range(60):
if(h%10==3)or(m%10==3 or m//10==3)or(s%10==3 or s//10==3):
cnt +=1
print(cnt)
시각을 문자열로 합친 뒤에 그 문자열에 3이 포함되어있는지 확인하는 방식이 더 간단해서 아래처럼 수정했다.
n = int(input())
cnt=0
for h in range(n+1):
for m in range(60):
for s in range(60):
if '3' in str(h)+str(m)+str(s):
cnt +=1
print(cnt)
<문제> 왕실의 나이트
p = input()
y = ord(p[0])-ord('a')+1
x= int(p[1])
dx = [-1,-2,-2,-1,1,2,2,1]
dy = [-2,-1,1,2,-2,-1,1,2]
cnt = 0
for i in range(len(dx)):
nx = x+dx[i]
ny = y+dy[i]
if nx>0 and nx<9 and ny>0 and ny<9:
cnt +=1
print(cnt)
<문제> 문자열 재정렬
str = input()
sum = 0
d = []
for i in str:
if i.isdigit():
sum += int(i)
else:
d.append(i)
d.sort()
for i in d:
print(i,end='')
print(sum)
'Algorithm' 카테고리의 다른 글
[최단 경로 알고리즘] Dijkstra, Floyd-Warshall algorithm (1) | 2023.10.06 |
---|---|
[다이나믹 프로그래밍] 피보나치 수열, 개미 전사, 1로 만들기, 효율적인 화폐 구성, 금광, 병사 배치하기 python (0) | 2023.09.28 |
[그리디 알고리즘] 1이 될 때까지 python (0) | 2023.08.11 |