본문 바로가기

백준14

[알고리즘] DFS, BFS | 2667 단지번호 붙이기, 2606 바이러스 단지번호 붙이기 답: 더보기 BFS 풀이 from sys import stdin from collections import deque input = stdin.readline N = int(input()) graph = [] for _ in range(N): line = list(map(int, input().strip())) graph.append(line) # {위, 아래, 오른쪽, 왼쪽} 상하좌우 dx = [0, 0, 1, -1] #(0, 1) (0, -1) (1, 0) (-1, 0) dy = [1, -1, 0, 0] def bfs(graph, x, y): queue = deque() # 무엇으로 시작해야하나? x랑 y를 제공해주기 queue.append((x, y)) # 탐색 중 1인 부분은 0으.. 2023. 10. 14.
[알고리즘] 백준 | 별 찍기 -7, 팰린드롬인지 확인하기 별 찍기 -7 답: 더보기 N = int(input()) for i in range(1, N+1): print(" " * (N - i) + "*" * (i-1) + "*" + "*" * (i-1)) for i in range(N-1, 0, -1): print(" " * (N - i) + "*" * (i-1) + "*" + "*" * (i-1)) 하드 코딩 느낌 물씬 #다른 사람의 풀이 N, n = int(input()), 0 for i in range(N): print(' '*(N-1-n) + '*'*(2*i+1)) n += 1 for j in range(N): print(' '*(N+1-n) + '*'*(2*(N-j-1)-1)) n -= 1#이 안에 작성 문제 분석 및 해석 주어진 숫자를 가지고 별을 .. 2023. 9. 8.
[알고리즘] 백준 | 나머지, 바구니 뒤집기, 평균 1차원 배열 끝! 3052 나머지 답: 더보기 from sys import stdin input = stdin.readline answer = [] new = 0 for _ in range(10): number = int(input()) new = number % 42 answer.append(new) print(len(set(answer))) 문제 분석 및 해석 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 1 2 3 4 5 6 7 8 9 10 출력 10 .. 2023. 9. 7.
[알고리즘] 백준 | 공 바꾸기, 과제 안 내신 분..? 공 바꾸기 답: 더보기 from sys import stdin input = stdin.readline N, M = map(int, input().split()) bucket = [i for i in range(1, N+1)] for i in range(M): first, second = map(int, input().split()) first, second = first -1, second -1 bucket[first], bucket[second] = bucket[second], bucket[first] print(*bucket) 문제 분석 및 해석 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호 바구니에 공 1개씩, 바구니에 적혀있는 번호와 같은 번호 공을 바꿀 바구.. 2023. 9. 6.