본문 바로가기

분류 전체보기

(31)
[Programmers] 괄호 회전하기 - kotlin 괄호 회전하기 (Level2) link - https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 1. 문제 파악하기 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다..
[Programmers] 카펫 - kotlin 카펫 (Level2) link - https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 1. 문제 파악하기 가운데 노란 타일들과 노란타일 밖 한줄이 갈색 타일인 카펫이 있다 각 타일들의 개수가 주어질때 타일의 가로와 세로의 길이를 구한다 (한타일당 길이 1) - 입력 : brown : 갈색 타일 개수 yellow : 노란 타일 개수 - 출력 : 카펫의 가로와 세로를 순서대로 출력한다 2. 아이디어 - 갈색 타일..
[Programmers] 기능 개발 - kotlin 기능 개발 (Level2) link - https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 1. 문제 파악하기 개발자가 기능을 배포하려고 하는데, 기능은 배포 순서가 정해져있다. 기능의 작업진도와 기능 개발 속도가 주어지면 몇개의 기능을 한번에 배포할수 있는지 순차대로 출력한다 - 입력 : progresses : 배포 순서대로 작업 진도가 적힌 배열 speeds : 개발 속도 적힌 배열 - 출력 : 각 배..
[Programmers] 타겟 넘버 - kotlin 타겟 넘버 (Level2) link - https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 1. 문제 파악하기 - 입력 : numbers : 정수형 배열 target : 만들고자하는 정수 numbers 배열내의 정수를 모두 활용하고, +/- 연산만 활용하여 target 정수를 만들수 있는 경우의 수를 구한다. - 출력 : 모든 가능한 경우의 수 2. 아이디어 ..
[HackerRank] Mini-Max Sum - Kotlin Mini-Max Sum (easy) link - https://www.hackerrank.com/challenges/mini-max-sum/problem Mini-Max Sum | HackerRank Find the maximum and minimum values obtained by summing four of five integers. www.hackerrank.com 1. 문제 파악하기 - 입력 : 정수형 배열 - 출력: 배열에서 가장큰 정수를 제외한 합, 배열에서 가장 작은 정수를 제외한 합 을 나란히 출력한다 2. 아이디어 - kotlin 에서 제공하는 Array.sum() 함수를 사용해서 총합을 구한다 - Array.min()을 사용해서 배열에서 가장작은 값을 구한다 - Array.max() ..
[HackerRank] Staircase - Kotlin Staircase (easy) link - https://www.hackerrank.com/challenges/staircase/problem Staircase | HackerRank Print a right-aligned staircase with n steps. www.hackerrank.com 1. 문제 파악하기 - 입문할때 무조건 거쳐간다는 별찍기와 같은 문제다~ - 왼쪽부터 오른쪽으로 갈수록 높아지는 계단을 찍는다 - 입력 : n 계단 몇층으로 출력할지 - ex) n이 4인경우 아래와 같은 모양으로 출력되도록 한다 # ## ### #### 2. 아이디어 - 공백 " " 은 -1씩 줄이고, "#" 은 +1씩 늘리며 출력한다 - 공백을 먼저, "#"을 그 뒤에 찍도록 출력한다 3. 풀이 1 2 3 ..
[HackerRank] Plus Minus - Kotlin Plus Minus (easy) link - https://www.hackerrank.com/challenges/plus-minus/problem Plus Minus | HackerRank Calculate the fraction of positive, negative and zero values in an array. www.hackerrank.com 1. 문제 파악하기 - 주어진 배열에 양수/ 0 / 음수의 비율을 출력하기 - 비율을 소수점 이하 여섯자리까지 출력한다 2. 아이디어 - compareTo(0) 을 사용해서 0을 기준으로 배열을 새로생성한다 (-1, 0, 1 로 균일화) - kotlin의 count 함수를 사용하여 쉽게 개수를 구한다 (-1개수/ 0개수/ 1개수 카운트) - 반올림을 위해..
[HackerRank] Diagonal Difference - Kotlin Diagonal Difference (easy) link - https://www.hackerrank.com/challenges/diagonal-difference/problem?h_r=profile Diagonal Difference | HackerRank Calculate the absolute difference of sums across the two diagonals of a square matrix. www.hackerrank.com 1. 문제 파악하기 - 입력: 정사각형 길이 n, 정사각형 해당하는 이차원 배열 3 11 2 4 4 5 6 10 8 -12 - 대각선 2개에 위치한 값의 합을 각각 더하고, 각 합의 차에 대한 절대값을 구한다 2. 아이디어 - 각 대각선을 더하는 index를 구해..
[HackerRank] Compare the Triplets - Kotlin Hacker Rank 두번째 문제 풀이한당 너무 쉬운문제인데 코틀린의 장점을 최대한 활용하진 못한 풀이같다 Compare the Triplets (easy) link - https://www.hackerrank.com/challenges/compare-the-triplets/problem 1. 문제 파악하기 - 입력 : 세개의 점수가 입력된 두개의 배열 a = [1, 2, 3] b = [3, 2, 1] - 범위 : 1 ≤ a [i], b[i] ≤ 100 - 출력 : a가 더점수가 높은 횟수, b가 점수가 더 높은 횟수를 나란히 배열로 반환한다 동점인 경우는 count하지 않는다 2. 내 풀이 하지만 풀고보니 코틀린의 장점을 최대한 잘 활용한것 같지 않다. 그래서 다른 풀이를 좀 보고 공부하기로 했다. 1..
[HackerRank] Simple Array Sum - Kotlin Hacker Rank 첫번째 문제 풀이한당 너무 쉬운문제라 그냥 5초컷..!! SimpleArraySum (easy) link - https://www.hackerrank.com/challenges/simple-array-sum/problem 1. 문제 파악하기 - 입력 : 첫번쨰 라인 배열내 정수의 개수 [n] , 두번째 라인, 정수 배열 [arr] - 0 < n