목록코딩 (41)
HS_development_log
1. 문제 2019 KAKAO BLIND 블록 게임 2. 접근 기본적으로 배열을 완전 탐색하는 문제라고 생각했다. 2.1 첫 번째 시도 처음에는 모든 세로줄을 한개씩 검사해서 한 개의 행씩 1x1 블록을 놓은 뒤, 블록이 지워지는지 확인해보려고 했다. 1x1 블록을 -1로 두고 나머지 블록과 검사를 진행했는데 이게 자꾸 예외도 많이 나고 1x1블록끼리 사라지고 난리가 나서 포기했다.. 물론 이 방법으로도 문제가 풀린다. 내 구현력이 떨어지는 듯... 2.2 두 번째 시도 어차피 1x1 블록은 위에서 떨어지므로 애초에 지워질 수 있는 블록의 모양은 정해져 있다. 위에서 블록을 떨어뜨렸을 때 직사각형을 만들 수 있는 블록만 삭제할 수 있다. 그런 블록은 빨강 3번, 빨강 4번, 주황 2번, 주황 3번, 파랑..
1. 문제 6603번: 로또 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 www.acmicpc.net 2. 알고리즘 k개의 수 중에서 6개를 조합하는 문제이다. 경우의 수는 kC6. 재귀로 완전탐색을 실시하여 모든 조합을 찾은 후 출력한다. 재귀의 return조건은 6개를 조합해야하므로 detph==6. 3. 코드 /** * 2020.07.28 * 백준 6603 : 로또 * DevHyeonseong */ import java.util.*; public class BOJ6603 { public static int[] lotto; pub..
1. 문제 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 �� www.acmicpc.net 2. 알고리즘 파일의 최대길이는 50, 최대 개수도 50이므로 모든 문자열을 검사해본다. 경우의 수는 2500이므로 제한 시간 안에 해결할 수 있다. 모든 파일의 첫번째 문자를 검사한다. 모두 같다면 문자 그대로를 출력하고 하나라도 다르다면? 를 출력한다 모든 파일의 모든 인덱스에 대하여 2번을 반복한다. 3. 코드 /** * 2020.07.24 * 백준 1032 : 명령 프롬프트 * DevHyeonseong */ public class M..
문제 https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 레슨 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 레슨이 들어가는데, 블루레이를 녹화할 때, 레슨의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 레슨의 흐름이 끊겨, 학생들이 대혼란에 빠질 수 있기 때문이다. 즉, i번 레슨과 j번 레슨을 같은 블루레이에 녹화하려면 i와 j 사이의 모든 레슨도 같은 블루레이에 녹화해야 한다. 강토는 이 블루레이가 얼마나 팔릴지 아직 알 수 없기 때문에, 블루레이의 개수를 가 www.acmicpc.net 이분 탐색으로 무엇을 찾아야 하는지 감을 못 잡아서 어려웠던 문제. 블루레이의 크기를 이분 탐색으로 찾고, 그때의 개수를 세서 m..