((((0+2) * 9))*8)* 4) = 576
이고, 또한 만들어질 수 있는 가장 큰 수는 항상 20억 이하의 정수가 되도록 입력이 주어진다.#입력데이터
data = input()
#첫번쨰 문자부터 시작
result = int(data[0])
for i in range(1, len(data)):
a = int(data[i])
if a <= 1 or result <= 1:
result += a
else:
result *= a
print(result)
2 3 1 2 2
1 2 2 2 3
1 | 2 2 | 2 3
1 2
n = int(input())
data = list(map(int, input().split()))
data.sort()
result = 0 ## 그룹 수
count = 0 ## 현재 그룹에 속한 모험가 수
for i in data:
count += 1
if count >= i: # 그룹 결성
result += 1 # 그룹 수 하나 추가
count = 0 # 현재 그룹에 포함된 모험가 수 초기화
print(result)
머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정
흔히 알고리즘 대회에서 구현 유형의 문제란 무엇을 의미할까?
구현 문제 유형의 예시
많은 연습이 필요한 분야
일반적으로 많은 기업 코딩테스트 문제에서는 2차원 공간(행렬 : Matrix)에서의 처리를 요구한다
# 동 북 서 남
dx = [0,-1,0,1]
dy = [1,0,-1,0]
x, y = 2, 2
for i in range (4):
#다음 위치
nx = x + dx[i]
ny = y + dy[i]
print(nx, ny)
2 3
1 2
2 1
3 2
여행가 A는 N X N 크기의 정사각형 공간 위에 서 있다. 이 공간은 1X1 크기의 정사각형으로 나누어져 있다. 가장 왼쪽 위 좌표는 (1,1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당한다. 여행가 A는 상,하,좌,우 방향으로 이동할 수 있으며, 시작 좌표는 항상(1,1)이다. 우리 앞에는 여행가 A가 이동할 계획이 적힌 계획서가 놓여있다.
계획서에는 하나의 줄에 띄어쓰기를 기준으로 하여 L,R,U,D 중 하나의 문자가 반복적으로 적혀있다. 각 문자의 의미는 아래와 같다
이떄 여행가 A 가 N X N 크기의 정사각형 공간을 벗어나는 움직임은 무시된다. 예를 들어(1,1) 의 위치에서 L 혹은 U를 만나면 무시된다.
아래는 N = 5 인 지도와 계획서이다.
n = int(input())
x, y = 1, 1
plans = input().split()
## L R U D 분류
dx = [0,0,-1,1]
dy = [-1,1,0,0]
move = ['L','R','U','D']
# 이동 계획 확인
for plan in plans:
# 이동 후 좌표 계산
for i in range(len(move)):
if plan == move[i]:
nx = x + dx[i]
ny = y + dy[i]
# 공간 벗어 날때?
if nx < 1 or ny <1 or ny > n or nx > n :
continue
x, y = nx, ny
print(x, y)
5
R R R U D D
3 4
24 * 69 * 60 = 86,400
초 즉, 경우의 수는 86400 가지h = int(input())
count = 0
for i in range (h+1):
for j in range(60):
for k in range(60):
if '3' in str(i) + str(j) + str(k):
count += 1
print(count)
5
11475
서적 : 이것이 코딩 테스트다 with 파이썬
채널 : '동빈나' YouTube Channel