BoBo World

[Programmers] #120878 - 유한소수 판별하기 [Java][C++][Python]

문제 링크 1. 아이디어 유한소수는 기약분수로 나타냈을 때, 분모의 소인수가 2와 5만 존재하는 수이며, 이는 분모를 2와 5로 계속 나누었을 때, 1이 되는지 여부로 판단할 수 있다. 유클리드 호제법을 활용해서 a, b의 최대공약수를 구하고 b를 최대공약수로 나눠 기약분수의 분모 부분을 구한 후 2와 5로 반복적으로 나눠 1인지 여부를 판단...

[LeetCode] #66 - Plus One [Java][C++][Python]

문제 링크 1. 아이디어 임의의 큰 정수를 각 자릿수를 담은 배열 digits로 표현한 후 1을 더했을 때 배열을 구하는 문제다. 1을 더하는 것은 배열의 마지막 원소에 1을 더하는 것으로 이때 자릿수 올림이 발생하면 이를 도미노처럼 반영해야 한다. 더하는 수가 1이므로 끝자리부터 자릿수가 9가 아니라면 올림이 더이상 발생하지 않으므로 해당 ...

[Codeforces] #2259E - Treasure Map Destruction (Constructive Version) [C++]

문제 링크 1. 아이디어 원래 배열 a에서 a[i]는 섬 i에서 가장 가까운 보물 섬까지의 거리이고, 주어지는 b는 그중 일부가 -1로 지워진 것이다. 섬은 일직선상에 놓여 있고, -1이 아닌 값을 전부 만족하는 보물 배치를 아무거나 찾거나 그런 배치가 없으면 -1을 출력하면 되는 문제다. b[i]가 양수라면 섬 i로부터 거리가 b[i] 미...