Python
-
[Python] BOJ 4134 : 다음 소수코딩테스트/백준 2024. 9. 23. 09:16
요구사항각각 테스트 케이스에 대해서 N보다 같거나 큰 소수 중 가장 작은 소수를 한 줄에 하나씩 출력할 것. 설게주어진 N이 소수인지 아닌지 판별한다.맞다면 N 출력아니라면 N을 1씩 키워 소수인지 판별한다. 실수 과정 1. [TypeError]def isPrime(number): count = 0 for i in range(math.sqrt(number)): if number // i == 0: count +=1 if count == 1: return True else: return Falserange() 안에는 정수가 들어가야된다. for i in range(int(math.sprt(number))실수 과정 2. [ZeroDivisionError]..
-
[Python] BOJ 2485 : 가로수코딩테스트/백준 2024. 9. 23. 08:30
요구사항임의의 간격으로 심어져 있는 가로수 사이에 추가로 가로수들을 심어 연속된 가로수들 간의 차이가 일정하게 한다.새로 심어야 하는 가로수의 최소수를 구해라.설계임의 설치된 가로수의 개수를 받는다.임의 설치될 가로수의 위치를 받는다. (양의 정수)연속되어 있는 가로수들 중 차이가 가장 적은 수를 구한다.첫 번째 가로수부터 다 더한다. 위 설계의 예외# 임의로 설치된 가로수2 4 6 11재설계설계의 1~2번 동일연속된 가로수들의 최대공약수를 구한다. 3과 5 의 최대공약수는 1 따라서 위 설계의 예외 시에도 가능하다. 새롭게 심을 가로수의 최소수는 아래 공식을 따른다.(마지막 가로수 - 첫 번째 가로수) / GCD - (이미 심어진 가로수 - 1)결과를 출력한다.정답 답안 예시import sys, mat..
-
[Python] BOJ 10816 : 숫자 카드 2코딩테스트/백준 2024. 9. 22. 21:36
https://www.acmicpc.net/problem/10815위 문제의 변형이다. 요구사항비교할 숫자 카드 집합 = A, 비교 당할 숫자 카드 집합 = B 라고 하겠다. B 집합에 A 집합이 몇 개씩 들어 있는 지 출력하는 문제이다.설계두 리스트를 비교하고 개수를 저장할 리스트를 초기화한다.저장된 리스트를 출력한다.틀린 답안 예시import sysinput = lambda: sys.stdin.readline().rstrip()N = int(input())arr1 = list(map(int, input().split()))print(arr1)M = int(input())arr2 = list(map(int, input().split()))print(arr2)result = [0] * Mfor i in..
-
[Python] BOJ 7785 : 회사에 있는 사람코딩테스트/백준 2024. 9. 22. 20:58
요구사항 직원의 출근 여부를 딕셔너리에 넣는다. 출근한 직원들을 알파벳 역순으로 출력한다.설계직원들의 출퇴근 여부를 넣을 딕셔너리를 초기화 한다.리스트컨프리헨션을 사용해 출근한 직원들(key) 를 리스트에 저장한다.출근한 직원들 리스트를 알파벳 역순으로 저장한다.for 문을 이용해 한 명씩 출력한다.정답 답안 예시import sysinput = lambda: sys.stdin.readline().rstrip()N = int(input())common_log = {}for _ in range(N): u,v = input().split() common_log[u] = venter_people = [key for key, value in common_log.items() if value == 'en..
-
[Python] BOJ 10815 : 숫자 카드 [9.26 이후 다시 볼 게시물]코딩테스트/백준 2024. 9. 22. 20:10
https://www.acmicpc.net/problem/10815요구사항보여줄 숫자 카드가 상근이가 가지고 있는 지 없는 지 확인하는 문제이다.설게비교할 리스트와 비교 당할 리스트를 만든다.비교 결과를 저장할 리스트를 만든 후 결과값을 담아 출력한다.틀린 답안 예시import sysinput = lambda: sys.stdin.readline().strip()# 첫 번째 배열 입력 받기N = int(input())arr1 = list(map(int, input().split())) # 1차원 리스트로 입력받음# 두 번째 배열 입력 받기M = int(input())arr2 = list(map(int, input().split())) # 1차원 리스트로 입력받음# 결과를 저장할 리스트result = [..
-
[Python] BOJ 1260 : BFS와 DFS코딩테스트/백준 2024. 9. 19. 17:26
https://www.acmicpc.net/problem/1260 요구사항 분석BFS는 큐로 DFS는 스택으로 구현하라고 하던 데... 내 생각 과정을 보여주겠다.N,M,V = map(int,input().split())graph= [[],]for i in range(M): graph.append(list(map(int,input().split())))visited = [False] * (N+1)def dfs(v): # 현재 노드를 방문 처리 visited[v] = True print(v, end = ' ') for i in graph[v]: if not visited[i]: dfs(i)dfs(V)의도를 먼저 설명해주겠다. 문장 앞의 번호는 코..
-
[Python] BOJ 9020 : 골드바흐의 추측코딩테스트/백준 2024. 9. 8. 11:12
https://www.acmicpc.net/problem/9020 위는 문제 링크입니다. * 골드바흐의 추측 문제 요구사항 짝수를 두 소수의 합으로 나타내는 표현 (= 골드바흐 파티션)두 소수의 차이가 가장 작은 것들을 출력두 수 중 작은 수부터 출력 ex) 8 = (3 + 5), (1 + 7) 두 가지 경우의 수 중 두 수의 차이가 적은 3과 5를 출력할 것정수 안에서 두 수의 합으로 짝수를 표현할 때, 그 차이가 가장 적은 경우의 수는 짝수를 2로 나눈 값이다. ex) 8 / 2 = 4, 4 + 4, 차이가 0이니 가장 작다고 볼 수 있다. * 골드바흐의 추측 설계소수 판별 함수를 작성한다. base case == 1: False2부터 주어진 N의 제곱근 + 1 까지 N 의 나머지가 0이라면 Fa..
-
[Python] 프로그래머스 : 크기가 작은 부분문자열코딩테스트/프로그래머스 2024. 7. 18. 15:01
[문제 풀기 전 생각한 부분]# for 문으로 p의 길이만큼 인덱싱을 이용해서 자르고, 자른 값들을 바로 비교할 수 있나? 없으면# 리스트에 정수형으로 저장한 뒤 리스트의 길이만큼 반복해서 p와 비교한다. (p도 정수형으로 변환할 것.)[my_code]1. 의도 : i 부터 int(p) 만큼 슬라이싱 t = "3141592"p = "271"for i in range(len(t)): print(t[i:int(p)]) # 출력결과3141592141592415921592592922 [문제점]1. 출력 결과를 보면 int(p) 는 고정된 값이다... 글을 쓰면서도 참... ㅎㅎ (넘어갈게요)1-1. 따라서 i 부터 : 271 까지 범위를 준 거다. 슬라이싱은 인덱스 범위를 초과해도 알아서 잘 출력해준..