전체 글70 프로그래머스 2단계 60~47% 스킬트리주차 요금 계산숫자 변환하기2xn 타일링파일명 정렬오픈채팅방프렌즈4블록2개 이하로 다른 비트가장 큰수 - 정렬쿼드압축 후 개수 세기두 큐 합 같게 만들기소수 찾기다리를 지나는 트럭- 스택/큐큰 수 만들기 - 그리디삼각 달팽이연속된 부분 수열의 합마법의 엘리베이터시소 짝꿍전력망을 둘로 나누기호텔 대실서버 증설 횟수숫자 카드 나누기미로 탈출배달124 나라의 숫자메뉴 리뉴얼리코쳇 로봇무인도 여행줄 서는 방법디펜스 게임테이블 해시 함수가장 큰 정사각형 찾기 2025. 7. 2. 프로그래머스 1단계 67~60% 기사단원의 무기폰켓몬2016년모의고사과일 장수덧칠하기소수 찾기소수 만들기옹알이 (2)지폐접기실패율다크 게임로또의 최고 순위와 최저 순위둘만의 암호문자열 나누기대충 만든 자판이웃한 칸 2025. 7. 2. 프로그래머스 레벨1 79~70% 같은 숫자는 싫어- 스택/큐def solution(arr): stack = [] for i in range(len(arr)): if i == 0 or arr[i] != arr[i-1]: stack.append(int(arr[i])) return stack최대공약수와 최소공배수import mathdef solution(n, m): gcd = math.gcd(n, m) # 최대공약수 lcm = n * m // gcd # 최소공배수 return [gcd, lcm]크기가 작은 부분 문자열def solution(t, p): answer = 0 slicing = [] for i in range(l.. 2025. 7. 2. 프로그래머스 레벨2 70~61%까지 멀리 뛰기def solution(n): list = [0] *(n+2) list[0] = 1 list[1] = 1 for i in range(2, n+1): list[i] += (list[i-1] + list[i-2] ) % 1234567 return list[n]영어 끝말잇기 예상 대진표연속 부분 수열 합의 개수N개의 최소공배수할인 행사괄호 회전하기n^2 배열 자르기행렬의 곱셈H-Index의상기능개발- 스택/큐피로도 - 완전탐색[1차]캐시튜플전화번호 목록 -해시프로세스 -스택/큐롤케이크 자르기게임 맵 최단거리(DFS/BFS)타겟 넘버 (DFS/BFS)[1차] 뉴스 클러스터링모음사전 - 완전탐색방문길이[3차] n진수 게임k진수에서 소수 개수 구.. 2025. 7. 2. 프로그래머스 레벨2 정답률 80~71% 최댓값과 최솟값def solution(s): mix = [] answer = list(map(int, s.split())) answer.sort() mix += [answer[0]] mix += answer[-1:] return ' '.join(map(str,mix))def solution(s): nums = list(map(int, s.split())) return f"{min(nums)} {max(nums)}"올바른 괄호def solution(s): stack = [] for i in s: if i == '(': stack.append(i) elif i == ')': if st.. 2025. 6. 30. 프로그래머스 레벨1 정렬/ 해시/ 완전탐색 함수 정렬 - K번째수def solution(array, commands): answer = [] for com in commands: i, j, k = com sliced = array[i-1:j] sliced.sort() answer.append(sliced[k-1]) return answer해시 - 폰켓몬def solution(nums): kind = len(set(nums)) max_choice = len(nums) //2 return min(kind, max_choice)완주하지 못한 선수def solution(p, com): p.sort() com.sort() for a, b in zip.. 2025. 6. 30. 프로그래머스 레벨1 88~80% 약수의 합def solution(n): answer = 0 for i in range(1, n+1): if n % i == 0: answer += i return answer자릿수 더하기def solution(n): answer = 0 while n > 0: answer += n % 10 n //= 10 return answer자연수 뒤집어 배열로 만들기def solution(n): answer = [] for i in str(n): answer.append(int(i)) answer.reverse() return answer def solution(n): .. 2025. 6. 29. 백준 이진탐색 알고리즘 연습 랜선 자르기#랜선 갯수, 원하는 갯수 입력받기n, w = map(int, input().split())# 랜선들 넣을 리스트 만들기array = [int(input()) for _ in range(n)]# 시작, 끝, 결과 넣을 자리 만들기start = 1end = max(array)result = 0# while 문으로 mid값 찾기while start = w: result = mid start = mid+1 else: end = mid -1print(result)나무자르기#나무갯수, 원하는 길이 합n, w = map(int, input().split())# 나무들 넣기array = list(map(int,input().split()))# 시작과 끝start .. 2025. 6. 27. 백준 정렬 알고리즘 연습 수 정렬하기n = int(input())data = []for _ in range(n): data.append(int(input())) data.sort() for i in data: print(i) 수 정렬하기 3import sysn = int(sys.stdin.readline())count = [0] * 10001 # 숫자 범위: 1 ~ 10000for _ in range(n): num = int(sys.stdin.readline()) count[num] += 1for i in range(1, 10001): for _ in range(count[i]): print(i) 좌표 정렬하기n = int(input())data = []for _ in ran.. 2025. 6. 26. 이전 1 2 3 4 ··· 8 다음