일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 후위 표기법
- 프로그래머스
- 알고리즘
- 규칙찾기
- 순열
- 튜플
- 메뉴리뉴얼
- 쿼드압축 후 개수세기
- 동적계획법
- python
- HashMap
- 점프와 순간이동
- 문자열
- fragment identifier
- HashSet
- dfs
- 완전탐색
- Java
- 영문자 확인
- 2017 카카오 코드
- Stack
- 보이어무어
- 조합
- Dynamic Programming
- 최소공배수
- 에라토스테네스의 체
- 어려웠던 문제
- pandas
- 완전 탐색
- 반복문
- Today
- Total
목록Coding Test/프로그래머스 (82)
csmoon1010의 SW 블로그

0. 문제 유형 : 시뮬레이션 1. 문제 이해 programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr (1) 주요 요구사항 - 밑변의 길이와 높이가 n인 삼각형 : 위에서부터 1~n의 길이를 가진 n개의 배열 형태 - 달팽이 채우기 : 맨 위 꼭짓점부터 반시계 방향으로 - 최종 출력 : 첫 행부터 마지막 행까지 모두 순서대로 합친 배열 2. 전략 (1) 자료구조 (3번에서 더 쉬운 자료구조로 변경할 것) - Lend 클래스 : 각 행의 ..
0. 문제 유형 : 반복문의 적절한 활용, (하위 버전의) 완전 탐색 1. 문제 이해 programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr (1) 주요 요구사항 : 주어진 정수 배열 numbers에서 서로 다른 인덱스의 두 수를 뽑아 더해서 만들 수 있는 모든 수 (2) 추가 조건 : 배열에 오름차순으로 담아 return 2. 전략 (1) 두 개의 수를 뽑아 더하기 - 모든 경우의..
0. 문제 유형 : Set, Map 등 적절한 자료구조 활용하기 1. 문제 이해 programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr (1) n-튜플(n-tuple) : n개의 요소를 가진 튜플 (a1, a2, a3, ..., an) - 중복 원소 가능 (BUT 문제에서는 중복되는 원소가 없는 튜플 형태로 고려) - 원소에 정해진 순서가 있다. - 튜플의 원소 개수는 유한하다...
0. 문제 유형 : 완전 탐색(순열을 통해 모든 case 확인) 1. 문제 이해 programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 주어진 조건에 따라 배치할 수 있는 경우의 수를 리턴하기 (1) 제한 조건 - n : 입력 조건의 개수 (1 , num) continue; else if(operator.equals("
**주목해야 할 문제 : 완전탐색의 대표적인 예인 "순열, 조합"을 이용한 문제 1. 문제 이해 - numbers : 한자리 숫자가 적힌 종이 조각(1~7의 길이인 문자열) - numbers의 종이 조각들을 조합하여 만들 수 있는 소수의 개수 return 2. 전략 (1) 종이조각 나누기 : substring을 이용해 String 배열에 넣기 (2) 대상이 되는 경우들 구하기(완전 탐색) - 순열을 이용해 모든 경우를 담은 HashSet 만들기 - 순열 : 자리 고정 & swap 방식 이용 esw-csmoon.tistory.com/entry/%EC%88%9C%EC%97%B4%EC%A1%B0%ED%95%A9-%EC%99%84%EC%A0%84%ED%83%90%EC%83%89 순열/조합 (완전탐색) 1. 완전..
level2 카카오의 단체사진찍기 문제에서 완전탐색을 구현하는 법을 완전 잊어버렸다!!ㅠㅠ 그래서 전에 풀어봤던 완전탐색 문제들을 먼저 풀어보기로 했다. 1. 문제 이해 - 3명의 수포자가 일정한 규칙에 따라 문제를 찍음 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... ▶ {1, 2, 3, 4, 5} 반복 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... ▶ {2, 1, 2, 3, 2, 4, 2, 5} 반복 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... ▶ {3, 3, 1, 1, 2, 2, 4, 4, 5..

1. 문제 이해 - n개의 수의 최소공배수 구하기 : n개 수들의 배수 중 공통이 되는 가장 작은 숫자 2. 전략 1) n개 수의 최소공배수 특성 - 기존 고전적인 최소공배수 해결법에서 착안 ⓐ 최소 2개의 수에서 2 이상의 공약수를 발견 ⓑ 해당 수들은 공약수로 나눔 ⓒ 공약수가 발견될 때까지 과정 반복 2) 알고리즘 개요 작성 - 공약수 구하는 법 : 각 수의 소인수분해한 결과들에서 공통된 수를 찾기 - 고전 해결법을 보면, 각 단계에서 중복되는 공약수가 있다면 1번만 곱셈 수행 ▶ 결론 (1) 각 수의 소인수분해 list & 중복을 제거한 소인수 set 구하기 ⓐ 소인수분해 list - result : 각 수의 소인수분해 결과를 담은 ArrayList로 이루어진 배열 - 소인수분해 - getPrim..
1. 문제 이해 programmers.co.kr/learn/courses/30/lessons/12951 - JadenCase : 모든 단어의 첫 문자가 대문자, 그 외의 알파벳은 소문자인 문자열 (단, 첫 문자가 영문이 아닐 때 이어지는 영문은 소문자) - 문자열 s를 JadenCase로 바꾼 문자열 리턴 2. 전략 1) 문자열의 각 문자에 대해서 반복 ( target = s.charAt(i) ) - 공백인 경우 : count를 0으로 초기화 / 공백 - 알파벳인 경우( ASCII 코드 값 : 65~122 ) ⓐ 알파벳이 맞음 - count == 0 (첫 문자) : 대문자로 변경 toUpperCase() - count > 0 : 소문자로 변경 toLowerCase() ⓑ 알파벳이 아님 - 그대로 coun..