[백준] 1085번 - 직사각형에서 탈출 [Java][C++]
문제 링크 1. 문제 풀이 현재 위치 ($x$, $y$) 에 대해 가장 가까운 직사각형 경계선까지의 거리를 구하는 문제다. 현재 위치에서 왼쪽 경계선까지의 거리는 $x$, 오른쪽 경계선까지의 거리는 $w-x$, 윗쪽 경계선까지의 거리는 $h-y$, 아랫쪽 경계선까지의 거리는 $y$ 이다. 이들 중 최솟값이 직사각형 경계선까지의 최소 거리가 된...
문제 링크 1. 문제 풀이 현재 위치 ($x$, $y$) 에 대해 가장 가까운 직사각형 경계선까지의 거리를 구하는 문제다. 현재 위치에서 왼쪽 경계선까지의 거리는 $x$, 오른쪽 경계선까지의 거리는 $w-x$, 윗쪽 경계선까지의 거리는 $h-y$, 아랫쪽 경계선까지의 거리는 $y$ 이다. 이들 중 최솟값이 직사각형 경계선까지의 최소 거리가 된...
문제 링크 1. 문제 풀이 주어진 문자열에 대해 알파벳 $a$ 부터 $z$ 까지 각 알파벳에 대해 등장하지 않으면 $-1$, 등장하면 가장 처음 등장한 인덱스를 출력해야 한다. 정수와 문자간 타입 변환을 활용하면 해결할 수 있다. 2. 코드 1. 구현 [Java] for 문을 0 부터 26 까지 순회하며 각 i 에 대해 i 에 문자 a...
문제 링크 1. 문제 풀이 먼저 삼각형이 될 수 있는지 없는지 조건문으로 판단한 후 삼각형이 될 수 있으면 정삼각형인지, 이등변 삼각형인지 판단하는 방식으로 해결했다. 2. 코드 1. 구현 [Java] import java.io.*; public class Main { public static void main(String[]...
문제 링크 1. 문제 풀이 가능한 모든 쌍의 GCD의 합을 구하는 문제로 유클리드 호제법을 활용하면 간단하게 해결할 수 있다. 가능한 쌍은 2중 반복문을 활용하면 되며 이때 같은 쌍을 중복으로 세지 않게 주의해야 한다. GCD의 합이 오버플로우가 발생할 수 있음에 주의해야 한다. 2. 코드 1. 유클리드 호제법 [Java] impor...
문제 링크 1. 문제 풀이 각 자연수의 최소공배수를 출력하는 문제로 최대공약수를 구할 수 있는 유클리드 호제법을 활용하면 간단하게 해결할 수 있다. 최소공배수는 두 수의 곱을 최대공약수로 나누면 된다. 최소공배수를 구하는 과정에서 정수 타입의 오버플로우에 주의해야 한다. 2. 코드 1. 유클리드 호제법 [Java] import java...
문제 링크 1. 문제 풀이 두 자연수의 최대공약수와 최소공배수를 출력하는 문제로 최대공약수를 구할 수 있는 유클리드 호제법을 활용하면 간단하게 해결할 수 있다. 최소공배수는 두 수의 곱을 최대공약수로 나누면 된다. 2. 코드 1. 유클리드 호제법 [Java] import java.io.*; import java.util.*; publ...
문제 링크 1. 문제 풀이 별의 끝 위치를 가리키는 포인터를 활용해서 구현했다. 2. 코드 1. 구현 [Java] import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReade...
문제 링크 1. 문제 풀이 별의 시작 위치를 가리키는 포인터를 활용해서 구현했다. 2. 코드 1. 구현 [Java] import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedRead...
문제 링크 1. 문제 풀이 여러 특수문자로 이루어진 새싹을 출력하는 문제로 이스케이프해야 하는 문자가 섞여 있음에 주의해야 한다. 2. 코드 1. 구현 [Java] 역슬래시(\)와 큰 따옴표(")에 대한 처리만 추가해줬다. public class Main { public static void main(String[] args)...
문제 링크 1. 문제 풀이 모든 가로수가 같은 간격이 되도록 심어야 하는 가로수의 최소 개수를 구하는 문제로 주어진 입력에서 이웃한 가로수들의 간격들에 대한 최대공약수를 간격으로 설정하면 같은 간격이면서 가로수를 최소로 심을 수 있다. 가로수가 $3$ 개 이상 주어지므로 앞에서 $3$ 개의 가로수에 대한 두 간격의 최대공약수를 먼저 구했다. ...