본문 바로가기
Problem Solving/CodeUp

[CodeUp][Python]코드업 기초100제(끝) 6091~6098

by NoiB 2021. 11. 13.
반응형

그냥 듀크입니다.

기초100제도 이번 포스팅으로 끝이 나는데요. 다른 괜찮은 문제들도 있으니 코드업 관련 포스팅은 계속할 것 같습니다. 오늘도 힘내서 가봅시다.

 

6091

a,b,c = map(int, input().split())
n = 1
while 1:
    if n%a==0 and n%b==0 and n%c==0:
        print(n)
        break
    n += 1

6092

n = int(input())
call = list(map(int, input().split()))
check = []
for i in range(1,24):
    check.append(call.count(i))
for i in check:
    print(i,end = ' ')

6093

n=input()
call=list(map(int,input().split()))
for i in call[::-1]:
    print(i,end=' ')

6094

n = input()
num = list(map(int, input().split()))
num.sort()
print(num[0])

6095

board = [[0 for i in range(20)]for j in range(20)]
n = int(input())
for i in range(n):
    r,c = map(int, input().split())
    board[r][c] = 1
for i in range(1,20):
    for j in range(1,20):
        print(board[i][j], end = ' ')
    print()

6096

board = []
for i in range(19):
    line = list(map(int, input().split()))
    board.append(line)
n = int(input())
for i in range(n):
    r,c = map(int, input().split())
    for j in range(19):
        if board[r-1][j] == 0: board[r-1][j] = 1
        else: board[r-1][j] = 0
    for k in range(19):
        if board[k][c-1] == 0: board[k][c-1] = 1
        else: board[k][c-1] = 0
for i in range(19):
    for j in range(19):
        print(board[i][j], end = ' ')
    print()

6097

h,w = map(int, input().split())
board = [[0 for i in range(w)]for j in range(h)]
n = int(input())
for i in range(n):
    l,d,x,y = map(int, input().split())
    for j in range(l):
        if d == 0:
            board[x-1][y+j-1] = 1
        else:
            board[x+j-1][y-1] = 1
for i in range(h):
    for j in range(w):
        print(board[i][j], end = ' ')
    print()

6098

maze = []
for i in range(10):
    maze.append(list(map(int, input().split())))
x,y = 1,1
maze[x][y] = 9
while 1:
    if maze[x][y+1] == 1:
        if maze[x+1][y] == 0:
            x += 1
            maze[x][y] = 9
        elif maze[x+1][y] == 1:
            maze[x][y] = 9
            break
        else:
            x += 1
            maze[x][y] = 9
            break
    elif maze[x][y+1] == 0:
        y += 1
        maze[x][y] = 9
    else:
        y += 1
        maze[x][y] = 9
        break
for i in range(10):
    for j in range(10):
        print(maze[i][j], end =' ')
    print()

풀고 보니 6092, 6093, 6094번에서 n을 쓸 일이 없더군요.

6095번의 경우 list comprehension으로 코드 가독성을 많이 높일 수 있습니다. 다만 아직 익숙하지 않은 경우 오히려 헷갈릴 수 있으니 주의하시기 바랍니다.

6096번은 인덱스가 0부터 시작한다는 것을 잊지 않으신다면 문제 없이 풀 수 있을겁니다.

6097번은 주어지는 데이터가 h,w 순 이라는 것에 주의하세요.

6098번은 마무리로 적당한 난이도였던 것 같습니다. 혼자서 기초 100제를 다 풀어왔다면 약간만 고민하면 다들 풀 수 있는 문제라고 생각합니다.

 

처음엔 친구에게 풀이를 제공할 예정으로 시작했지만 하다보니 저도 재밌어져서 계속 하게 됐는데요. 다들 기초 100제 푼다고 고생하셨습니다. 98문제라서 100문제가 아니란게 아이러니하지만 매일 몇 문제씩 꾸준하게 풀면서 상당히 즐거웠습니다. 다른 알고리즘 문제들도 괜찮은 것들이 있었으니 앞으로는 그런 문제들도 풀이해보겠습니다. 긴 글 읽어주셔서 감사합니다.

 

그냥 듀크였습니다.

 

반응형