본문 바로가기

공부/프로그래머스22

[프로그래머스] 42577번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 예를 들어 119, 1195334라는 번호가 있다면, 1195334라는 번호에서 119가 맨 처음 들어가있으므로 전화번호부 내에 있는 119가 저 번호의 접두사가 된다. 이때는 false를 출력한다. 한 번호가 다른 번호의 접두사가 되는 경우가 없으면, true를 출력한다. 간단한 듯 될락말락하는 문제였다. ​ 우선 순서를 빠르게 하기위해 받은 배.. 2022. 6. 15.
[프로그래머스] 42840번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr Level 1짜리라고 하지만 완전탐색은 완전탐색인가보다. 이렇게 하면 되겠네~ 하고 입은 살았지만 손가락은 멈춘다. 중요한건 아무튼 코드를 짜긴 짰다는 것. ​ 문제는 이렇다. 수포자 노답삼형제가 번호를 찍는 순서, 주기는 제각각이다. 문제의 답이 answers 라는 배열로 들어올 때 정답을 가장 많이 맞힌 사람은 누군지 출력한다. 만약 고득점 동점자.. 2022. 6. 15.
[프로그래머스] 42626번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 이진트리 기반의 최소합 자료구조를 제공하는 heapq 모듈을 사용할 수 있는지 보는 문제이다. heapq는 Java의 PriorityQueue 클래스와 유사하다. heapq를 사용하는 방법은 우선 빈 리스트를 만들고, heapq 모듈을 이용해 원소를 추가하거나 삭제한 리스트가 최소 힙이 된다. 추가 시에는 heappush, 삭제 시에는 h.. 2022. 6. 15.
[프로그래머스] 42746번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제 제목만 보고 오름차순만 생각하면 되지~ 했는데 아니었다. 내가 폴더 정리를 할 때 제일 싫어하던 게 문제로 나왔다(ㅋㅋㅋ) 그게 뭐냐면, 동일한 파일 형식에서 1에서 9까지는 파일명을 붙이면 오름차순으로 나열이 잘 되는데... 10이 되는순간 1의 옆에 붙어버리는 그 거슬림..! 그.. 2022. 6. 15.
[프로그래머스] 42748번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 먼저 K번째 수 문제를 요약해보면, 임의로 주어지는 배열 array와 함께 명령을 내릴 배열 commands가 주어진다. 그 때 commands[i,j,k] 값에서 i~j번째 숫자까지 자르고 오름차순으로 정렬한 뒤 거기서 k번째에 있는 수를 구하는 것이다. 물론 문제는 배열이 0번째라는 것을 고려하지 않고 설명하기 때문에, solution을 작성할 때는 따로 고려해야한다. 배열을 다룰 줄 아느냐에 대한 문제같다. fo.. 2022. 6. 15.
[프로그래머스] 43165번 문제출처 : https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr Level 2짜리라고 하는데 어떤 방식으로 짜야할지 감이 안와서 3처럼 느껴졌다. 흐잉 ㅠ 어디서 본 건 있어서 우선 dfs 함수를 따로 선언했다. 받는 값은 배열값, 타겟숫자, 인덱스(for 문의 i와 같은 역할), total(타겟과 비교할 dfs 결과값)을 파라미터로 받는다. idx와 total 값은 0으로부터 시작! 만약.. 2022. 6. 15.