전체 글 270

[프로그래머스] 신규 아이디 추천 파이썬

https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 2021 KAKAO BLIND RECRUITMENT 내 답안 def solution(new_id): temp = '' answer = '' # 1 new_id = new_id.lower() # 2 for i in new_id: if i not in '~!@#$%^&*()=+[{]}:?,/': temp += i new_id = temp temp = '' #..

프로그래머스 2022.02.13

백준 2609번 최대공약수와 최소공배수 파이썬

https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 답안 def gcd(m, n): # 최대공약수 함수 if n == 0: return m return gcd(n,m%n) m, n = map(int, input().split()) print(gcd(m, n)) # 최대 공약수 print(m*n//gcd(m, n)) # 최소 공배수 이산 수학을 공부하면서도 배웠지만 최소공약수 구하는 것은 유클리드 호제법을 참고하여 알고리즘을 짜면 된다. 방법은 여러 가지로 볼 수 있지만 나는 유클리드 호제법을 사용하여 문제를 풀었다..

BOJ/Python 2022.02.11

백준 10026번 적록색약 파이썬 DFS

https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 답안 import sys sys.setrecursionlimit(10**4) def dfs_R(x,y): if x = n or y >= n: return False if graph[x][y] == 'R': graph[x][y] = 'C' dfs_R(x-1,y) dfs_R(x,y-1) dfs_R(x+1,y) dfs_R(x,y+1) return True ret..

BOJ/Python 2022.02.10

백준 10989번 수 정렬하기 3 파이썬

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 답안 import sys n = int(sys.stdin.readline()) count = [0] * 10001 for _ in range(n): count[int(sys.stdin.readline())] += 1 for i in range(1, 10001): # 자연수는 1부터 for j in range(count[i]): print(i) 이 문제를 처음 접근 했을때, 정말 여러 정렬을 많이 사용 했었다. 파이썬..

BOJ/Python 2022.02.09

백준 1929번 소수 구하기 파이썬

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 답안 def is_prime(n): if n == 1: return False else: for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True m, n = map(int, input().split()) for i in range(m, n+1): if is_prime(i): print(i) 소수 구하는 문제를 구현하는 건 쉽다. 문제가 정답률이 낮은..

BOJ/Python 2022.02.08

백준 4963번 섬의 개수 파이썬 DFS

https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 답안 import sys sys.setrecursionlimit(10**4) # 재귀스택 확장 def dfs(x, y): if x = w or x >= h: return False if graph[x][y] == 1: graph[x][y] = 0 dfs(x-1, y) # 반 시계 방향 순환 dfs(x-1, y-1) dfs(x, y-1) dfs(x+1, y-1..

BOJ/Python 2022.02.07

백준 11724번 연결 요소의 개수 파이썬 DFS

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 답안 (PyPy3) def dfs(graph, v, visited): visited[v] = True for i in graph[v]: if not visited[i]: dfs(graph, i, visited) n, m = map(int, input().split()) graph = [[] for i in range(n+1)] visi..

BOJ/Python 2022.02.06

백준 1012번 유기농 배추 파이썬 DFS

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 답안 import sys sys.setrecursionlimit(10**6) def dfs(x, y): if x = m or y = n: return False if graph[x][y] == 1: graph[x][y] = 0 dfs(x-1, y) dfs(x, y-1) dfs(x+1, y) dfs(x, y+1) return True return False for _ in range(int(input())): ..

BOJ/Python 2022.02.06

백준 2606번 바이러스 파이썬 DFS

https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 답안 def dfs(graph, v, visited): visited[v] = True for i in graph[v]: if not visited[i]: dfs(graph, i, visited) n = int(input()) m = int(input()) visited = [False] * (n+1) graph = [[] for _ in range(n+1)] lst = [] for _ in range..

BOJ/Python 2022.02.05
반응형
목차(index)