일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 자바 코테
- BFS
- 코테준비
- 완전탐색
- 에라토스테네스의채
- 정올 1620
- 백준
- N과M
- 주사위굴리기2
- 자바
- 삼성역테
- 볼륨 만들기
- java
- 정보처리기사
- 재귀함수
- 코테
- 중복순열
- 중복조합
- 23288
- Bfs와DFS
- 백준15652
- 전화번호속의암호
- 순열
- 알고리즘개념
- 파티션 크기 조정
- 백준2251
- 완탐
- 백준13458
- D드라이브생성
- Today
- Total
목록알고리즘 (119)
뚱땅뚱땅
* 출처: www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 내 생각 1. 첫번째 풀이 배열을 계속해서 4등분 쪼개나가면 되므로 재귀로 풀었다. 종료 조건은 해당 영역이 0또는 1로 가득 채워있으면 된다. 그래서 종료 조건을 아래 3가지로 나눴다. 1. 배열의 크기가 1일 때 2. 1로 가득 찼을 때 3. 0으로 가득 찼을 때 가득 채운걸 확인하기 위해 메소드를 따로 만들었다. 시작하는 인덱스 위치와 배열의 크기를 인자로 받아 검사하도록 했다. p..
* 출처 www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net N과 M 시리즈 중 다른 점은 중복되는 숫자가 있어, 수열에서 중복되는 조합은 제거해야 한다는 것이다. 내 생각 1. 첫번째 풀이 comb함수 내에서 중복된 조합을 제거하기 위해 방금 만든 조합은 StringBuilder를 하나 더 만들어 이에 저장하였다. 그리고 기존의 StringBuilder를 toString()을 사용해 String으로 변환 후 contains 를 통해 앞선 문장과 비교해봤다...
* 출처 swea D2 swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 내 생각 - 이차원 배열 완전 탐색! 처음에 matrix와 크기가 동일한 배열을 추가해서 파리채가 들어갈 수 있는 합을 하나씩 저장하려고 했다. 하지만 이럴 필요가 없다는 걸 알게됐다. 그냥 행,열 순회하면서 파리채가 담을 수 있는 영역(범위 확인)의 파리 합을 변수에다가 계속 저장만 하면 된다. 그래서 findSum() 함수를 만들었다. public class Solution { public static void main(String[] ar..
* 출처 swea D3 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB&categoryId=AV7GLXqKAWYDFAXB&categoryType=CODE&problemTitle=2805&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 내 생각 1. 첫번째 풀이 다이아몬드 별찍기의 응용문제인 듯 하다. 아래와 같이 일반화를 해서 풀으니 금방 풀렸다. 절반 나눠서 좌표의..
* 출처: 백준 단계별로 풀어보기 브루트포스 편 www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 내 생각 1. 첫번째 풀이 '순열'스럽게 문제를 풀어봤다. 다만 범위를 너무 넓게 잡고, 답을 구하더라도 끝까지 탐색하기 때문에 시간이 많이 걸린다. 다른 답안에 비해 10배 이내로 걸리는 듯하다. public class BOJ2231 { static int N; static int NJari; static int numbers[]; ..