
1. 문제 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 2. 풀이 총 5개의 블록이 있는데, 이 중 ㅜ 블록(분홍색 블록)을 제외하고는 DFS 4번을 통해 대칭, 회전을 한 모든 블록의 모습을 구할 수 있다. 따라서, ㅜ를 제외한 4개의 블록은 DFS를 통해 4개 칸의 합을 구하고, ㅜ는 별도의 함수를 통해 4개 칸의 합을 구한다. 모든 칸에서 4개 블록타입을 모두 확인해야 하므로, 처음 DFS를 호출 할 때 백트래킹을 사용한다.(81~83..
1. 문제 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 2. 풀이 백트래킹을 이용해 풀이한다. 기호별 사용할 수 있는 남은 갯수를 담은 배열(markCnt)에서 0이 아닌 경우, 즉 기호를 사용할 수 있는 경우 기호를 사용한 계산을 한다. 모든 경우를 구하기 위해 재귀함수 실행 후, 기호별 사용할 수 있는 갯수를 다시 늘려준다.(markCnt[i]++) 계산식을 끝까지 구한 경우, 이전..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42895?language=java 코딩테스트 연습 - N으로 표현 programmers.co.kr 2. 풀이 재귀함수를 이용한 DP를 통해 풀이한다. 재귀함수의 매개변수로 지금까지 쓰인 숫자의 수, 현재까지의 계산 결과를 넣는다. for문을 통해 숫자의 갯수를 가능한 범위까지 늘려가며 +,-,/,* 연산을 한다. 최솟값이 8보다 크면 -을 return 한다. 3. 코드 class Solution { int answer = 9; public void dp(int N, int number, int count, int currentNumber){ if(count > 8) { return; } if(curre..
1. 문제 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 2. 풀이 백트래킹을 이용해 풀이한다. 백트래킹을 통해 치킨집을 하나씩 선택하며 총 m개의 치킨집을 선택한다.(backTracking()) 백트래킹을 하기 위해, 방문여부를 나타내는 boolean[] visited을 사용한다. m개의 치킨집을 고른 경우, 도시의 치킨 거리를 구한다(getChickenDist()). 최소 도시의 치킨 거리를 구한다.(Math.min(..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17677?language=java 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 2. 풀이 문자열1과 문자열2의 다중집합을 구한다. 다중집합 1과 다중집합 2의 교집합을 구한다. 다중집합 1과 다중집합 2의 원소가 겹치면, 다중집합 2에서 원소를 삭제하고 교집합에 추가한다. 다중집합 1의 원소는 모두 합집합에 추가한다. 다중집합 1과 다중집합 2의 합집합을 구한다. 다중집합 2의 남은..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/60058?language=java# 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 2. 풀이 재귀적으로 과정을 반복해야하므로, 과정 자체를 별도의 함수(solve)에서 수행한다. 균형 잡힌 문자열을 확인하는 함수인 isBalanced, 올바른 문자열을 확인하는 함수인 isRight를 구현한다. 나머지는 문제의 조건에 맞게 구현한다. 3. 코드 import java.util.*; class Solution {..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17679?language=java 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 2. 풀이 한번 블록을 POP하는 과정을 구하고, 더이상 POP되는 블록이 없을때까지 그 과정을 반복한다. 이를 위해 3가지 함수르 나눠서 일을 처리한다. checkBlock(): 지울 블록을 선택해 체크하고 삭제 표시를 한다. 삭제할 블록이 겹칠수 있으므로, 체크를 전부 다 한후에 삭제 표시를 한다. ..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17684?language=java# 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 2. 코드 import java.util.*; class Solution { // 알파벳 사전 초기화 public static void initDic(HashMap hm){ for(int i = 0; i < 26; i++){ hm.put(Character.toString('A' + i), i+1); } } public int[] solution(S..
- Total
- Today
- Yesterday
- 아두이노
- 블루투스
- mysql
- hackerrank
- the pads
- dovecot
- 자바
- git
- dht11
- hc-06
- 집배원 한상덕
- 스티커모으기2
- 백준
- 2981
- FTP
- DP
- 합승 택시 요금
- 라즈베리파이
- java
- 라즈비안
- 키 순서
- 구슬 탈출2
- BFS
- 리눅스
- ESP8266
- 프로그래머스
- 11503
- c++
- 메일서버
- 워드프레스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |