분류 전체보기 86

프로그래머스 연습 문제 - 같은 숫자는 싫어

programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr level1 1번째 def solution(arr): for i in range(len(arr)-1): for _ in range(i+1,len(arr)): if arr[i] == arr[i+1]: del arr[i+1] else: break return arr 주어진 arr에서 반복되는 수 del로 제거 답은 다 맞는데 효율성에서 다 떨어진다.....

프로그래머스 연습 문제 - 예상 대진표

programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr level2 1번째 def solution(n,a,b): result = [] answer = 0 for i in range(1,n+1): result.append(i) while n > 3 : answer += 1 n = n//2 for i in range(n): x = result.pop(i) y = result.pop(i) if (x == a o..

백준 11399, 5585번 - ATM, 거스름돈

www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사� www.acmicpc.net 그리디 11399번 def solution(p): answer = [] count = 0 for i in range(N):..

2/BOJ 2020.10.21

프로그래머스 연습 문제 - 방금그곡

programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, �� programmers.co.kr level2 def solution(m, musicinfos): answer = '' li=[] play=[] for i in range(len(musicinfos)): li.append(musicinfos[i].split(",")) if li[i][0][:2] == li[i][1][:2]: n = int(li[i][1][3:5])-int(li[i][0][3..

프로그래머스 연습 문제 - 파일명 정렬

programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램�� programmers.co.kr level2 1차 def solution(files): answer = [] HEAD , TAIL= head(files) NUMBERS = numbers(TAIL) for i in range(1,len(files)-1): for j in range(1,len(files)-i): if HEAD[j-1].lower() > HEAD[j].lower(): HEAD[j-..

백준 2750, 2751번 - 수 정렬하기1, 2

www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 2750. n = int(input()) li = [] for _ in range(n): m = int(in..

2/BOJ 2020.10.20

프로그래머스 연습 문제 - 소수 만들기

programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 � programmers.co.kr level2 def solution(nums): answer = 0 result = [] for i in range(len(nums)): for j in range(i+1,len(nums)): for x in range(j+1,len(nums)): num = [nums[i],nums[j],nums[x]] if num not in result: resul..

백준 1920번 - 수 찾기

www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안�� www.acmicpc.net 이분탐색 n = int(input()) nn = list(input().split()) nn.sort() m = int(input()) mm = list(input().split()) def search(mm,start,end,nn): if start > end: return 0 mid = (start + end) // 2 if nn[mid] == mm: return..

2/BOJ 2020.10.18