본문 바로가기

백준풀이5

(백준) 2667번: 단지번호붙이기 파이썬 풀이(BFS&DFS) 1. 문제풀러가기 2. 문제 해결 코드 3. 로직 분석 1. 문제풀러가기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 해석: - 1로 이어진 부분을 체크하고, 이어진 부분의 개수 출력하기 2. 문제 해결 코드 코드 (성공) DFS풀이 import sys input = sys.stdin.readline n = int(input()) v = [[False for _ in range(n)] for _ in range(n)] #방문체크 리스트 .. 2022. 11. 27.
(백준) 1439번: 뒤집기 파이썬 풀이 (초간단) 1. 문제풀러가기 2. 문제 해결 코드 3. 로직 분석 1. 문제풀러가기 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 해석: - 숫자를 뒤집는 최소 횟수 출력하기 예 ) 1110000001 일때, - 1을 0 으로 뒤집을 경우 1번째 행동 : 1110000001 => 0000000001 2번째 행동 : 0000000001 => 0000000000 총 2번의 행동 필요 - 0을 1로 뒤집을 경우 1번째 행동 : 1110000001 => .. 2022. 11. 25.
(백준) 17144번: 미세먼지 안녕! - 파이썬 풀이 1. 문제풀러가기 2. 문제 해결 코드 3. 로직 분석 1. 문제풀러가기 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 문제 해석: 1. 미세먼지를 확산시킨다. 아래와 왼쪽 그림과 같이 미세먼지가 분포되어 있다고 할때 , 아래 오른쪽 그림과 같은 과정을 거친다. 2. 공기 청정기로 순환 2. 문제 해결 코드 **pypy로 돌려야됨 코드 (성공) 코드 정리 전 import sys input = sys.stdin.readline r, c, t .. 2022. 11. 24.
코딩테스트 준비 - 백준15649번 N과 M (1)풀이-DFS에 관해서(파이썬) 백준 15649번 풀이 문제풀러가기 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 풀이 DFS알고리즘을 통해 푸는 문제이다. (DFS말고 다른 방법이 있다면 알려주세용 ㅠ_ㅠ) 코드 import sys N, M = map(int, sys.stdin.readline().split()) arr = [i for i in range(1,N+1)] check = [False]*len(arr) a = [] def dfs(x): if x == M:.. 2021. 6. 8.
코딩테스트 준비 - 백준1427번 풀이:파이썬 숫자 정렬(파이썬) 백준 1427번 풀이 문제 풀러 가기 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 1. int를 string 형으로 바꿔야지 정렬이 가능. 2. 리스트 정렬 및 거꾸로 출력 코드 import sys N = int(sys.stdin.readline()) arr = [] for i in str(N): arr.append(i) arr.sort(reverse=True) print("".join(arr)) 코딩 테스트 문제를 풀 때는 되도록 input보다는 sys.stdin.readline을 쓰려고 합니다. 도움이 됐다면 하트.. 2021. 6. 3.