알고리즘
-
BOJ 달이 차오른다, 가자 문제 자바(java) 풀이 난이도: 골드1 백준 1194번 달이 차오른다, 가자 문제 정리 미로를 탈출하려 한다. 미로는 다음과 같이 구성되어 있다. 빈 곳: 언제나 이동 가능(.) 벽: 절대 이동 불가(#) 열쇠: 언제나 이동할 수 있다. 이 곳에 처음 들어가면 열쇠를 잡는다(a - f) 문: 대응하는 열쇠가 있을 때만 이동 가능(A - F) 민식이 위치: 빈 곳, 현재 서 있는 곳 (숫자 0) 출구: 달이 차오르기 때문에, 민식이가 가야하는 곳. 탈출로(숫자 1) 민식이는 수평, 수직으로 이동가능하다. 탈출하는데 걸리는 이동 횟수의 최솟값을 구하시오 열쇠와 문은 여러 개일 수도 있다. 문에 대응하는 열쇠가 없을수도 있다. 0은 1개, 1은 적어도 한 개 있다. 열쇠는 여러..
[bfs, bitmasking] 백준 1194번 달이 차오른다, 가자 자바 풀이BOJ 달이 차오른다, 가자 문제 자바(java) 풀이 난이도: 골드1 백준 1194번 달이 차오른다, 가자 문제 정리 미로를 탈출하려 한다. 미로는 다음과 같이 구성되어 있다. 빈 곳: 언제나 이동 가능(.) 벽: 절대 이동 불가(#) 열쇠: 언제나 이동할 수 있다. 이 곳에 처음 들어가면 열쇠를 잡는다(a - f) 문: 대응하는 열쇠가 있을 때만 이동 가능(A - F) 민식이 위치: 빈 곳, 현재 서 있는 곳 (숫자 0) 출구: 달이 차오르기 때문에, 민식이가 가야하는 곳. 탈출로(숫자 1) 민식이는 수평, 수직으로 이동가능하다. 탈출하는데 걸리는 이동 횟수의 최솟값을 구하시오 열쇠와 문은 여러 개일 수도 있다. 문에 대응하는 열쇠가 없을수도 있다. 0은 1개, 1은 적어도 한 개 있다. 열쇠는 여러..
2020.06.17 -
BOJ 1012번 유기농 배추 문제 자바(java) 풀이 난이도: 실버2 풀이시간: 20분 백준 1012번 유기농 배추 설치 문제 정리 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 배추가 상하좌우로 붙어있으면 인접해있다고 본다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 서로 퍼지므로 총 몇 마리의 지렁이가 필요한지 알 수 있다. 다음과 같이 입력이 주어진다 TC 개수 가로 세로 배추개수 맵 각 TC에 대해 필요한 최소의 배추흰지렁이 마리 수를 출력한다. 문제 접근 이 문제는 bfs를 이용하여 영역의 개수를 구하는 것과 같은 문제입니다. bfs를 통해 1로 이어져 있는 영역은(배추가 이..
[bfs] 백준 1012번 유기농 배추 자바 풀이BOJ 1012번 유기농 배추 문제 자바(java) 풀이 난이도: 실버2 풀이시간: 20분 백준 1012번 유기농 배추 설치 문제 정리 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 배추가 상하좌우로 붙어있으면 인접해있다고 본다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 서로 퍼지므로 총 몇 마리의 지렁이가 필요한지 알 수 있다. 다음과 같이 입력이 주어진다 TC 개수 가로 세로 배추개수 맵 각 TC에 대해 필요한 최소의 배추흰지렁이 마리 수를 출력한다. 문제 접근 이 문제는 bfs를 이용하여 영역의 개수를 구하는 것과 같은 문제입니다. bfs를 통해 1로 이어져 있는 영역은(배추가 이..
2020.06.14 -
BOJ 3584번 가장 가까운 공통 조상 자바(java) 풀이 랭크 : 골드4 백준 온라인 저지(BOJ) 3584번 가장 가까운 공통 조상 문제 자바 풀이 백준 3584번 가장 가까운 공통 조상 문제정리 테스트 케이스와 트리를 구성하는 노드의 수 N이 주어진다. 트리를 구성하는 간선 정보가 주어질 때, A B가 주어지면 A가 B의 부모라는 뜻이다. 마지막 줄에 가장 가까운 공통 조상을 구할 두 노드가 주어진다. 이때 두 노드의 가장 가까운 공통 조상을 출력한다. 문제풀이 이 문제는 LCA(Lowest Common Ancestor)문제 입니다. LCA를 검색하면 정리된 많은 자료들을 볼 수 있습니다. 만약 트리의 루트가 어떠한 노드로 고정되어 있다면 dfs를 통해 탐색할 수 있습니다. 하지만 이 문제는 루..
[BOJ] 백준 3584번 가장 가까운 공통 조상 자바 풀이BOJ 3584번 가장 가까운 공통 조상 자바(java) 풀이 랭크 : 골드4 백준 온라인 저지(BOJ) 3584번 가장 가까운 공통 조상 문제 자바 풀이 백준 3584번 가장 가까운 공통 조상 문제정리 테스트 케이스와 트리를 구성하는 노드의 수 N이 주어진다. 트리를 구성하는 간선 정보가 주어질 때, A B가 주어지면 A가 B의 부모라는 뜻이다. 마지막 줄에 가장 가까운 공통 조상을 구할 두 노드가 주어진다. 이때 두 노드의 가장 가까운 공통 조상을 출력한다. 문제풀이 이 문제는 LCA(Lowest Common Ancestor)문제 입니다. LCA를 검색하면 정리된 많은 자료들을 볼 수 있습니다. 만약 트리의 루트가 어떠한 노드로 고정되어 있다면 dfs를 통해 탐색할 수 있습니다. 하지만 이 문제는 루..
2020.02.26 -
BOJ 3190번 뱀(snake) 문제 자바(java) 풀이 랭크 : 실버 1 백준 온라인 저지(BOJ) 3190번 뱀(snake) 문제 자바 풀이 백준3190번 뱀 코드 저는 푸는데 1시간 좀 넘게 걸렸어요 아래의 깃허브를 참고해주세요!! 백준3190번 뱀 문제이해 시작시 뱀은 맨위 맨 좌측에 위치. 처음에 오른쪽으로 향하며 초기 뱀의 길이는 1이다. 몸길이를 늘려 머리를 먼저 다음 칸에 가져다 댄다. if 사과 exists: 사과 없어지고 꼬리는 움직이지 않음 ( 몸 길이 늘어남 ) if !사과 exsists: 몸 길이를 줄여 꼬리가 위치한 칸을 비워줌 ( 몸 길이 그대로 ) 게임이 끝나는 시간 계산하기 ( 벽 또는 자기자신의 몸과 부딪히면 게임 끝) 벽은 상하좌우 끝에 있다. 문제 풀이 뱀 초기 위..
[백준 알고리즘(BOJ)] 3190번 뱀 자바(java) 풀이BOJ 3190번 뱀(snake) 문제 자바(java) 풀이 랭크 : 실버 1 백준 온라인 저지(BOJ) 3190번 뱀(snake) 문제 자바 풀이 백준3190번 뱀 코드 저는 푸는데 1시간 좀 넘게 걸렸어요 아래의 깃허브를 참고해주세요!! 백준3190번 뱀 문제이해 시작시 뱀은 맨위 맨 좌측에 위치. 처음에 오른쪽으로 향하며 초기 뱀의 길이는 1이다. 몸길이를 늘려 머리를 먼저 다음 칸에 가져다 댄다. if 사과 exists: 사과 없어지고 꼬리는 움직이지 않음 ( 몸 길이 늘어남 ) if !사과 exsists: 몸 길이를 줄여 꼬리가 위치한 칸을 비워줌 ( 몸 길이 그대로 ) 게임이 끝나는 시간 계산하기 ( 벽 또는 자기자신의 몸과 부딪히면 게임 끝) 벽은 상하좌우 끝에 있다. 문제 풀이 뱀 초기 위..
2020.02.09 -
이번에 단계별로 문제풀기 다음 단계로 넘어갔어요 이번 단계는 소수에 관련된 파트에요 소수 파트 첫 번째 문제라 그런지 정답률도 높은(?)만큼 금방 쉽게 풀었어요 근데 정답률을 정말 무시하면 안되겠어요 49퍼인데 2번만에 맞춤... for문에서 조건을 위한 변수를 하나 잘못써서.... 소수를 판별하기 위해서는 소수가 무엇인지에 대해서 알아야겠죠??? 간단히 이야기 하자면 소수는 1과 자기자신으로만 나누어지는 수를 소수라고 이야기해요 예를들어 2,3,5,7 등등.... 2는 짝수중 유일하게 소수에요 2는 1과 자기자신 2로만 나누어지니까 소수가 맞아요 소수 판별법에는 여러가지가 있는데 그 중에서 소수의 정의를 이용한 코드를 짜봤어요 백준 알고리즘 1978번 소수찾기 문제 문제 주어진 수 N개 중에서 소수가 ..
[백준 알고리즘, 소수] 알고리즘문제, 1978번: 소수찾기이번에 단계별로 문제풀기 다음 단계로 넘어갔어요 이번 단계는 소수에 관련된 파트에요 소수 파트 첫 번째 문제라 그런지 정답률도 높은(?)만큼 금방 쉽게 풀었어요 근데 정답률을 정말 무시하면 안되겠어요 49퍼인데 2번만에 맞춤... for문에서 조건을 위한 변수를 하나 잘못써서.... 소수를 판별하기 위해서는 소수가 무엇인지에 대해서 알아야겠죠??? 간단히 이야기 하자면 소수는 1과 자기자신으로만 나누어지는 수를 소수라고 이야기해요 예를들어 2,3,5,7 등등.... 2는 짝수중 유일하게 소수에요 2는 1과 자기자신 2로만 나누어지니까 소수가 맞아요 소수 판별법에는 여러가지가 있는데 그 중에서 소수의 정의를 이용한 코드를 짜봤어요 백준 알고리즘 1978번 소수찾기 문제 문제 주어진 수 N개 중에서 소수가 ..
2019.05.10