
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 카카오 코딩 테스트 당시 이 문제를 풀지 못했다. 요즘 알고리즘을 공부하면서 너무 복잡하게 생각하고 어렵게 코딩하려던 게 원인이 아닐까 싶다. 문제를 보면 이해를 하고 먼저 단순하게 풀 수 있는지 확인 먼저 해야겠다. 이 문제를 마지막으로 level 1..

https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr [문제 풀이] 1. 점수는 0 ~ 10 사이이므로 한 글자씩 처리할 경우 10을 처리할 수 없다. 1-1. 각 숫자를 정답 배열에 저장한다. 1-2. 숫자 다음에도 숫자가 온다면 10이므로 1에 10을 곱해준다. 2. 알파벳 S, D, T라면 S는 1 제곱, D는 2 제곱, T는 3 제곱을 해준다. 3. 특수문자 *, #이 온다면 *는 2배, #는 -1배를 해준다. 3-1. *는 해당 점수와 이전 점수를 2배로 만들어준다. 3-2. *는 첫번째에 나올 수 있다. 3-3. 즉, 이전 점수가 존재한다면 이전 점수와 해당 점수를 2배를 해..

https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr [문제 풀이] 1. n의 범위는 1 ~16이므로 O(n)으로 충분히 풀 수 있다. 2. 지도에 주어진 수를 이진수로 바꿨을 때 1인 부분이 벽, 0인 부분이 공백이다. 3. 둘 중에 하나라도 벽이면 벽이고, 둘 다 공백이면 공백이다. 4. 지도1, 지도 2에 주어진 수를 or연산을 해준 후, 이진수로 변경해준다. 5. 변경된 이진수에 1인 부분을 "#",..

https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 �� programmers.co.kr [문제 풀이] 1. 부서의 길이가 100 이하이므로m O(n)으로 충분히 풀 수 있다. 2. 각 부서가 요구한 예산은 100_000이하이고, 전체 예산은 10_000_000이므로 int로 충분히 풀 수 있다. 3. 최대한 많은 부서를 지원해야하므로 예산 배열을 오름차순으로 정렬한다. 4. 예산이 바닥날때까지 예산 배열에서 빼준다. 5. 지원할 수 있는 부서의 ..

https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수� programmers.co.kr [문제 풀이] 1. n, m의 범위가 1 ~ 1_000 이므로, O(N^2)으로 충분히 풀 수 있다. 2. n은 가로의 길이, m은 세로의 길이다. 3. *을 먼저 n만큼 찍고, m만큼 반복한다. [소스 코드] import java.util.Scanner; public class PrintStarWithRectangle { publ..

https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. �� programmers.co.kr [문제 풀이] 1. x의 범위가 -10_000_000 ~ 10_000_000이고 n은 1_000 이하인 자연수이므로, long 타입을 사용한다. 2. 크기가 n인 배열을 생성한다. 3. 배열에 x부터 시작해서 x만큼 떨어진 n개의 수를 넣는다. [소스 코드] import java.util.Arrays; p..

adhttps://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr [문제 풀이] 1. 각 행렬의 크기가 동일하고, 크기는 500을 넘지 않으므로 25_000을 넘지 않는다. 따라서 O(N^2)으로 충분히 풀 수 있다. 2. 행과 열의 크기가 동일하기 때문에 행, 열의 크기를 가진 배열을 새로 만든다. 3. 전부 순환하면서 각 행렬의 값을 더한 후 새로운 배열에 넣어준다. 4. 행렬의 각 값이 ..

https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr [문제 풀이] 1. 전화번호 마지막 4자리르 제외하고 전부 *로 바꾸어야한다. 2. 전체 길이에서 4를 뺀만큼 *을 반복한다. 3. 나머지 숫자를 추가해준다. [소스 코드] public class HidePhoneNumber { public static void main(String[] args) { String phoneNumber = ..

https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하� programmers.co.kr [문제 풀이] 1. 주어진 수는 1 ~ 10_000이므로, 최대 5회 수행한다. 2. 각 자리의 합이 0이 나올 수가 없고, 가장 큰 값은 36 (9999)이므로 int형으로 충분히 풀 수 있다. 3. 주어진 수를 각 자리의 합으로 나눈 나머지의 값이 0이면 true, 아니면 false를 반환한다. [소스 코드] public clas..
- Total
- Today
- Yesterday
- 열혈강의
- 2019 카카오 개발자 겨울 인턴십
- 그리디
- 백준
- OS
- 정렬
- 그래프
- Algorithm
- bfs
- BOJ
- dfs
- 코틀린
- 자료구조
- 구현
- repository
- spring boot 2.3.1
- Idempotent
- 단계별로 문제풀이
- 깃
- DP
- 저장소
- Python
- Summer/Winter Coding(~2018)
- Algorihtm
- 알고리즘
- git
- 이것이 코딩테스트다
- binary search
- programmers
- 2020 카카오 인턴십
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |