https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 💡 조합 코드를 작성할 수 있는지, 좌표 거리를 코드로 구현할 수 있는지 문제 해결 과정 1. 집과 치킨집의 좌표 list로 저장 2. 치킨집 M개 조합 경우 구하기 3. M개의 치킨집과 집 최소 치킨거리 계산 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 32 33 34 ..
https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 💡 Stack을 떠올릴 수 있다면 쉽게 풀 수 있는 문제! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Solution { public int solution(String s) { Stack stack = new Stack(); char[] input = s.toCharArray(); for(..
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 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46..
https://www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net 💡 순열 코드를 작성할 수 있는지가 가장 중요! 문제 해결 과정 1. 순열을 통해 k+1개의 수 조합 2. 순열을 만들면서 부등호 판별(checkSign)하여 가지치기 3. 기저 조건에 도달하면 만들어진 수를 문자열로 만들어 list에 저장 시행착오 1. int형 min, max에 최소, 최댓값을 저장했으나 int 범위를 초과하는 결과값이 있었다. -> long으로 변경 2. 문제의 출력 조건이다. 여러분은 ..

디자인 패턴 Design Pattern 디자인 패턴은 소프트웨어 디자인(설계)에서 공통/반복적으로 발생하는 문제를 다루는 보편적이고 반복해서 사용할 수 있는 방법이다. 디자인 패턴은 코드로 직접 변환할 수 있는 완성된 설계가 아니다. 이는 다양한 상황에서 사용될 수 있는, 문제를 해결하는 방법에 대한 설명이나 템플릿이다. 사용 이유 및 목적 1. 검증된 솔루션을 제공한다. 디자인 패턴은 소프트웨어 설계하거나 그 과정에서 자주 발생하는 문제들이 발생했을 때 사용할 수 있는 재사용 가능한 검증된 해결책이다. 이 해결책들은 문서화가 잘 되어있으며 이미 널리 사용되면서 안정성이 입증되어 있기 때문에 프로젝트에 대한 기술적 위험을 줄일 수 있다. 2. 재사용가능하며 유지보수가 용이하다. 디자인 패턴을 적용하면 코..
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 2021 KAKAO BLIND RECRUITMENT 💡 정규표현식(regex) 을 알고 있다면 훨씬 깔끔하게 문제를 풀 수 있다! 유용한 정규표현식 Regular Expression (Regex) Description ^regex regex로 문장을 시작하는지 regex$ regex로 문장이 끝나는지 [abc] a, b, c 중 문자 1개 [abc][vz..

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 💡 가장 작은 단위에서부터 시작해서 큰 단위가 어떻게 움직이는지를 캐치하는 것이 관건! 문제 해결 과정 1. 점화식을 통해 원판을 옮길 횟수를 계산 -> 2^n - 1 2. 원판 N개 중 맨 아래 (가장 큰) 원판을 C로 옮기기 위해서는 나머지(N-1)개의 원판을 B로 이동시켜야 한다. (N-1번 동작) 3. 그 후 맨 아래에 있던 원판을 C로 이동시킨다. (1번 동작) 4. B에 있..
재귀 함수 Recursion Function 재귀 함수란 자기 자신과 같은 메소드를 계속 호출하는 함수를 말한다. 재귀 함수는 무한 루프를 방지하기 위해 적어도 하나의 base case (기저 조건) 가 존재해야 한다. 따라서 모든 함수는 결국 base case에 수렴해야 한다. 재귀 함수의 장점 1. 가독성이 좋다. 기본적으로 재귀 함수는 모두 반복문으로 표현할 수 있다. 그러나 알고리즘 자체가 재귀적인 표현이 자연스러운 경우 재귀 함수를 쓰는 것이 코드량과 변수가 줄어들어 가독성이 향상된다. ex) 피보나치 수열 1 2 3 4 5 6 public static int fibonacci(int n) { if (n
- Total
- Today
- Yesterday
- Stack
- recursion
- gof
- 래퍼 클래스
- Regex
- 하노이 탑
- generic
- OOP
- 구간 합 구하기
- 알고리즘
- 신규아이디추천
- java
- BFS
- 11659
- 4796
- 재귀
- 백트래킹
- 백준
- 2529
- CS
- 와일드카드
- 조합
- Wrapper Class
- 11729
- 프로그래머스
- 제네릭
- 게리맨더링
- 15686
- 디자인 패턴
- 순열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |