목록Algorithm-백준 (43)
HS_development_log
1. 문제 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 2. 접근 BFS문제다. 근데 구해야 하는 경우의 수가 2가지다. 적록색약일 때는 색구분을 2개로 하고, 적록색약이 아닐 때는 색구분을 3개로 해주면 된다. 적록색약 배열, 적록색약 아닐 때 배열 2가지를 만들어서 각각 처리해주면 된다. 3. 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main{ public static ..
1. 문제 4963번: 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사 www.acmicpc.net 가장 기본적인 BFS 문제입니다. 다만 상하좌우 뿐만 아니라 대각선으로도 이동이 가능한 점과 가로 세로의 입력값이 일반적인 경우와 달리 반대로 되어있는 점만 유의하면 어렵지 않았습니다. 2. 알고리즘 BFS 방식으로 모든 칸을 검사한다. 상하좌우 뿐만 아니라 대각선으로도 이동이 가능하므로 주의한다. 한번의 BFS 탐색이 끝날때 마다 섬의 개수를 +1 해준다. 3. 코드 /** * 2020.08.04 * DevHyeon * BOJ4963 : 섬의 개수 */ i..
1. 문제 1748번: 수 이어 쓰기 1 첫째 줄에 N(1≤N≤100,000,000)이 주어진다. www.acmicpc.net 2. 알고리즘 모든 경우를 탐색하는 브루트 포스 문제이다. 완전탐색으로 해결하면 된다 when을 사용하여 범위를 나눠서 길이를 answer 에 계속 더해준다 결과가 끝난 answer을 출력한다 3. 코드 /** * 2020.08.04 * DevHyeon * BOJ1748 : 수 이어 쓰기 1 */ import java.util.* fun main(){ val scan = Scanner(System.`in`) val n = scan.nextInt() var answer = 0 for(i in 1..n){ when(i){ in 1..9 -> answer++ in 10..99 -> a..
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..