본문 바로가기

분류 전체보기74

[프로그래머스] 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.
[프로그래머스] 67256번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제를 간략하게 설명하면, 눌러야하는 번호와 어느손잡이인지에 대한 정보가 주어진다. 왼손잡이면 left, 오른손잡이면 right인데, 이게 나타나는 이유는 이따 나오는 조건때문이다. 다이얼 왼쪽에 있는 1,4,7 번은 왼손, 오른쪽에 있는 3.. 2022. 6. 15.
[프로그래머스] 12973번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 테스트 케이스로 baabaa, cdcd가 나왔다. 문제를 이해하기에는 두 개의 케이스로도 충분했다. 앞뒤로 2개씩 붙어있는 같은 알파벳이 있으면 짝지어 제거한다. 그럼 baabaa의 경우에는 baabaa->bbaa->aa 같은 식으로 문자열을 제거할 수 있다. ​ 우선 stack 배열을 만들고, 숫자 아무거나 하나 넣어둔다. s는 알파벳 .. 2022. 6. 15.
[프로그래머스] 42883번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 처음에는 문제를 잘못 이해했다. 코드를 짜다보니 어..? 이거 안맞는데? 하고 깨달았다. 문자열을 겁도없이 오름차순으로 정렬하고 k만큼 뒤에서 뚝 끊었다. 당연히 틀렸다. 문자열의 순서도 중요하기 때문이다. 그래서 stack을 이용하는 방식으로 갔다. 어제 문제에서 배열을 stack이라고 선언했으니, 오늘은 num라고 선언해봤다. ​ ​ 나의 철칙은 주어진 테스트 케이스가 변형되지 않도록 하는것! temp라는 변수에 k를 넣어두고, num 배열 내에 number[0] 원소를 넣어뒀다. ​ 그 다음으로 number의 1번째 방 원.. 2022. 6. 15.
[프로그래머스] 42586번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 내 기억으론 Level 2 테스트에서 이 문제가 나왔던 것같다. key와 value를 함께 사용해서 정렬하고 풀고싶었는데, 머릿속에서 희미하게 떠오르기만 하고 제대로 구현되지 않아 결국 두 문제 중 한 문제밖에 못 맞고 저건 틀린 기억이 난다. ​ 문제의 요지는 이렇다. 앞의 기능개발이 뒤의 기능개발보다 늦을 경우, 뒤의 기능을 먼저 출시할 수.. 2022. 6. 15.