본문 바로가기

분류 전체보기464

[프로그래머스 lv 2] 카펫 사용 언어 - Python3 문제 - 카펫 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 규칙 찾는 완전 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 규칙 찾기 (가로 축 a, 세로 축 b) (a-2)*(b-2) = yellow 2*a + 2*b - 4 = brown => yellow + brown = ab total = yellow + brown 이라고 했을 때, total / b = a # 정답 def solution(brown, yellow): answer = [] total = yellow + brown for b in range(1,tota.. 2023. 2. 7.
[프로그래머스 lv 2] 소수 찾기 사용 언어 - Python3 문제 - 소수찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 순열조합 생성 후 소수 판별하는 완전 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 1. numbers를 하나씩 자르기 nums = [n for n in numbers] 2. 순열조합 생성 list(permutations(nums,i)) 3. 소수 판별 check True/False 4. set으로 중복 제거 후 개수 return # 정답 from itertools import permutations def solution(numbers): answer = [.. 2023. 2. 7.
[프로그래머스 lv 4] 징검다리 사용 언어 - Python3 문제 - 징검다리 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 징검다리를 하나씩 건너면서 두 돌 사이의 거리를 찾는 이분 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 1. start,end 정의 돌 사이의 최소 거리는 1, 최대 거리는 distance 2. rocks 오름차순 정렬 마지막 돌과 도착지점 사이의 거리도 있으므로, rocks 리스트에 distance를 추가해준다. 3. start n인 경우, mid 값이 크기 때문이라 end = mid-1 아닌 경우, answer에 mid 값 입력한다. mid 값이 작기 때.. 2023. 2. 7.
[프로그래머스 lv 1] 모의고사 사용 언어 - Python3 문제 - 모의고사 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 수포자의 정답과 진짜 정답을 한개씩 비교하는 완전 탐색 문제 (정답 맞춘 여부 O) 정답 풀이 1. 수포자가 찍는 방식 num1,num2,num3 리스트로 저장 2. 문제를 맞춘 개수를 total1,total2,total3에 +1로 저장 3. 인덱스를 각 수포자의 패턴 개수로 나눠준다. 4. max 값이 total1,total2,total3과 같다면, answer에 append해준다. # 정답 def solution(answers): num1 = [1,2,3.. 2023. 2. 6.
[프로그래머스 lv 1] 최소직사각형 사용 언어 - Python3 문제 - 최소직사각형 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 큰 값은 w에 작은 값에 h에 append하는 완전 탐색 문제 (정답 맞춘 여부 X) 정답 풀이 x,y 값이 최대가 되는 값을 찾아야한다. 하지만, x와 y는 회전시킬 수도 있다. 그렇기 때문에 x,y 값 중큰 값을 한쪽 리스트에 append하고, 작은 값을 다른 리스트에 append하고 각 리스트에서 max 값을 찾으면 가장 큰 가로축, 세로축을 구할 수 있다. # 정답 def solution(sizes): w,h = [], [] for i in ran.. 2023. 2. 6.
[프로그래머스 lv 3] 입국심사 사용 언어 - Python3 문제 - 입국심사 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 심사한 수가 n이 될 때의 특정 시간을 찾는 이분탐색 문제 (정답 맞춘 여부 X / 코드 풀이) 어떤 값(mid)을 입국심사에 걸리는 times로 나눈 몫이 총 명수가 되어야 한다. mid//time == n 구하려는 시간을 기준으로 이분탐색을 진행한다. 최소 시간(start)은 min(times), 최대시간(end)은 max(times)*n로, start와 end 중간값인 mid 부터 검사를 시작하면서 mid//time == n 이 될때까지 while 반복.. 2023. 2. 6.
[백준] 24060번 알고리즘 수업 - 병합 정렬 1 사용 언어 - Python3 백준 24060번: 알고리즘 수업 - 병합 정렬 1 (실버4, 정렬) 문제 ★병합 정렬 문제★ 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 정답 병합 정렬(분할 정복 알고리즘) 문제 (코드 풀이) 병합 정렬 의사 코드에서 추가되는 포인트 정리 0. merge_sort(), merge() 굳이 분리할 필요 없음 1. len(L)이 1이라면 정렬할 게 없으므로 return L 2. mid = ((len(L)+1)//2 45 132가 아.. 2023. 1. 31.
[프로그래머스 lv 2] 게임 맵 최단거리 사용 언어 - Python3 문제 - 게임 맵 최단거리 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 이동할 때마다 칸의 값을 더해가는 BFS 문제 (정답 맞춘 여부 X) 정답 풀이 1. dx,dy 상하좌우 이동 2. deque()에 (x,y) 튜플형태로 append 한 칸 이동하면, queue에 입력되고 while문으로 popleft된다. 3. queue가 없을 때까지 while문 반복 상하좌우로 이동 nx,ny 이동한 값이 0보다 작거나 len(maps)를 벗어나면 무시한다. continue 이동한 맵 값이 0이라면 무시한다. 1일 경우, 지금까.. 2023. 1. 31.
[프로그래머스 lv 2] H-Index 사용 언어 - Python3 문제 - H-Index 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 인덱스와 값 비교 정렬 문제 (정답 맞춘 여부 X) 내 정답은 테스트11,16에서 실패가 나왔다.. 근데 그 이유를 못찾았다.ㅠㅠ def solution(citations): for i in range(max(citations)): # i 인용 횟수 answer = 0 for c in citations: if c >= i: # 해당 논문이 인용 횟수 이상인 경우 answer += 1 # 논문 개수 세기 if answer == i: #3편의 논문이 3회 .. 2023. 1. 27.
[프로그래머스 lv 2] 가장 큰 수 사용 언어 - Python3 문제 - 가장 큰 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 ASCII 문자열 숫자간 크기 비교 정렬 문제 (정답 맞춘 여부 X) 정답 풀이 1. numbers를 str로 바꾼뒤, list 형태로 입력받는다. 2. 6, 10, 2의 크기를 비교한다. 원래 숫자에서 비교하면 10>6>2 이지만, "1062"은 가장 큰 수가 아니다. 문자열 ASCII 값으로 비교했을 때 가장 숫자가 큰 값, 6>2>1 순서대로 해야 "6210" 가장 큰수가 나온다. x*3 각각의 문자열을 3번 반복한다. 666, 101010, 222.. 2023. 1. 27.