코테 85

[프로그래머스] K번째수 ver.2 - Javascript

📖 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. ✔️ 제한조건 array의 길이는 1 이상 100 이하입..

[프로그래머스] 같은 숫자는 싫어 ver.2 - Javascirpt

📖 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. ✔️ 제한조건 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다..

[프로그래머스] 문자열 내림차순으로 배치하기 ver.2 - Javascript

📖 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. ✔️ 제한조건 str은 길이 1 이상인 문자열입니다. 💻 나의 코드 function solution(s) { return s.split('').map((el) => el.charCodeAt()).sort((a, b) => b - a).sort((a, b) => b - a).map((el) => String.fromCharCode(el)).join(''); } 📜 채점 결과 정확성: 100.0 합계: 100.0 / 100.0 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나..

[백준] 19698:헛간 청약 - Python

📖 문제 설명 농부 존은 소들을 위해 새로운 헛간을 지었다. 소들의 리더인 암소 베시는 새로운 헛간에 입주할 소들을 추첨으로 정하기로 했다. 소들은 그동안 모아 왔던 건초 더미를 담보로 추첨에 응모했다. 이번 추첨에는 총 N마리의 소가 응모했다. 헛간은 W×H 크기의 직사각형이다. 베시는 소 한 마리당 L×L 크기의 공간을 배정할 계획이다. 베시는 헛간을 최대한 효율적으로 나누어 최대한 많은 소를 입주 시키려고 한다. 헛간에는 최대 몇 마리의 소들이 입주할 수 있는지 출력하라. 소들이 입주하는 공간의 각 변은 직사각형의 각 변에 대해 수평 혹은 수직이여야 한다. ✔️ 입력 소들의 수 N, 헛간의 크기 W×H를 나타내는 두 정수 W와 H, 그리고 소들에게 배정되는 공간의 크기 L이 순서대로 주어진다. ✔️..

[백준] 13136:Do Not Touch Anything - Python

📖 문제 설명 ACM-ICPC 대회의 대회장은 R행 C열의 직사각형 형태로 좌석이 배치되어 있다. 대회가 시작하기 전에는 참가자들이 아무것도 만지면 안 되기 때문에 진행자는 'Do not touch ANYTHING!!!'을 연신 외친다. 하지만, 진행자가 성대결절에 걸리면서 'Do not touch ANYTHING!!!'을 외칠 수 없는 처지가 되었다. 따라서 주최측은 CCTV를 설치하여 참가자들을 감시하려고 한다. 이때, 각 CCTV는 N행 N열의 직사각형 영역의 좌석을 촬영할 수 있다. 모든 좌석을 전부 촬영하도록 CCTV를 배치할 때, 최소 몇 개의 CCTV가 필요할까? ✔️ 입력 첫 번째 줄에 좌석의 세로 크기, 가로 크기 R, C와 한 대의 CCTV가 수용할 수 있는 범위 N이 주어진다. (1 ..

[백준] 5532:방학 숙제 - Python

📖 문제 설명 상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다. 방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다. 상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오. ✔️ 입력 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. ✔️ 출력 첫째 줄에 상근이가 놀 수 있는 날의 최댓값을 출력한다. 💻 ..

[백준] 2386:도비의 영어 공부 - Python

📖 문제 설명 꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다. 그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다. 여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다! ✔️ 입력 입력은 몇 개의 줄들로 이루어진다. 각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다. 각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다. ✔️ 출력 출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다. 💻 나의 코드..

[백준] 1357:뒤집힌 덧셈 - Python

📖 문제 설명 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 ✔️ 입력 첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다. ✔️ 출력 첫째 줄에 문제의 정답을 출력한다. 💻 나의 코드 arr = list(input().split()) # 두 수를 입력받아 배열 형태로 저장 arr[0] = arr[0][::-1] # 첫 번째 수를 뒤집음 arr[1] = arr..

[백준] 2154:수 이어 쓰기 3 - Python

📖 문제 설명 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수에서 N이 등장하는 위치를 알고 싶다. 물론 1부터 N까지의 수를 이어 쓰는 것이므로 수의 가장 끝부분에서 N이 항상 등장하게 되지만, 그보다 일찍 등장하는 경우도 있다. 예를 들어 N=151인 경우, 다음과 같이 앞에서 20번째 숫자부터 151이 등장하게 된다. 1234567891011121314151617181920212223... N이 주어졌을 때, N이 가장 먼저 등장하는 위치를 알아내는 프로그램을 작성하시오. ✔️ 입력 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. ✔️ 출력 첫째 줄에 N이 ..

[백준] 10162:전자레인지 - Python

📖 문제 설명 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다. 냉동음식마다 전자레인지로 요리해야할 시간 T가 초단위로 표시되어 있다. 우리는 A, B, C 3개의 버튼을 적절히 눌러서 그 시간의 합이 정확히 T초가 되도록 해야 한다. 단 버튼 A, B, C를 누른 횟수의 합은 항상 최소가 되어야 한다. 이것을 최소버튼 조작이라고 한다. 만일 요리시간이 100초라고 하면(T=100) B를 1번, C는 4번 누르면 된다. 이와 다르게 C를 10번 눌러도 100초가 되지만 이 경우 10번은 최소 횟수가 아니기 때문이 답이 될 수..