티스토리 뷰

구현

머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정

주로, 2차원 공간을 사용함

 

구현 문제란?

풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제

알고리즘은 간단한데 코드가 길어지는 문제

소수점, 실수를 다루는 문제

문자열을 끊어 처리하는 문제

적절한 라이브러리를 찾아서 사용해야 하는 문제

 

예제 4-1. 상하좌우

# 나의 풀이
n = int(input())
mv = input().split()
x, y = 1, 1

for i in mv:
    if x < 1 and y < 1:
        continue
    else:
        if i == 'R':
            y += 1
            print(x, y)
        elif i == 'L':
            y -= 1
            print(x, y)
        elif i == 'U':
            x -= 1
            print(x, y)
        elif i == 'D':
            x += 1
            print(x, y)
# 범위 벗어남을 해결하지 못함

# 해설
n = int(input())
x, y = 1, 1
plans = input().split()

dx = [0, 0, -1, 1]  # 왼 오 위 아래
dy = [-1, 1, 0, 0]
move_types = ['L', 'R', 'U', 'D']

for plan in plans:
    for i in range(len(move_types)):  # 4번 반복
        if plan == move_types[i]:  # [0]~[3]까지 입력한만큼 반복
            nx = x+dx[i]  # 'D'면 1+1
            ny = y+dy[i]
    if nx < 1 or ny < 1 or nx > n or ny > n:  # 범위 체크
        continue
    x, y = nx, ny
print(x, y)

 

예제 4-2. 시각

n = int(input())
result = 0

for i in range(n+1):  # 0시 ~ n시 59분 59초
    for j in range(60):
        for k in range(60):
            # print(i, ':', j, ':', k) 모든 수를 나타냄
            if '3' in str(i)+str(j)+str(k):
                result += 1
print(result)

'Python > 이코테' 카테고리의 다른 글

4-3. 게임개발  (0) 2022.06.22
4-2. 왕실의 나이트  (0) 2022.06.21
11-6. 무지의 먹방라이브  (2) 2022.05.29
11-5. 볼링공 고르기  (0) 2022.05.29
11-4. 만들 수 없는 금액  (0) 2022.05.29
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday