Notice
Recent Posts
Recent Comments
Link
가치투자자
[BOJ] 1075번 : 나누기 본문
728x90
반응형
백준 1075번 : 나누기
🔗 문제 링크
https://www.acmicpc.net/problem/1075
💬 문제
브루트포스(완전 탐색, Brute Force) 에 대한 이해가 있다면, 충분히 풀 수 있는 문제다.
- 정수 N과 F가 주어진다.
- 정수 N의 끝 두 자리를 바꿔서 F로 나눴을 때, 나눠 떨어지는 수 중 가장 작은 수의 끝 두 자리를 출력해준다.
💡 입력값 받아오기
JavaScript로 풀 경우, 입력값(input)을 어떻게 받아와야 할 지가 중요하다.
이 문제에서는 1번째 줄에 정수 N, 2번째 줄에 정수 F가 주어진다. 각각을 줄바꿈을 기준으로 잘라주면 된다.
입력값을 받아오는 것과 관련해 더 자세한 내용은 아래 링크를 참고 바란다.
https://valueengine.tistory.com/2
728x90
🔑 풀이
- N의 끝 두자리를 바꾸고 F로 나눴을 때 가장 작은 수를 찾아줘야 한다.
- 그렇기에 끝 두 자리가 00부터 시작할 수 있도록 100으로 나눠 나머지를 제거해주고, 다시 100을 곱해준다. - 00부터 99 사이의 수 중 F로 나눠지면 for문을 멈춰준다.
- 끝 두자리를 잘라내야 하므로 문자열로 바꿔주고, slice()로 끝 두 자리만 잘라 출력해준다.
// input값 처리
const input = require('fs').readFileSync('/dev/stdin')
.toString().trim().split('\n').map(Number); // 정수화
console.log(solution(input[0], input[1]));
function solution(N, F) {
N = Math.floor(N / 100) * 100; // 끝 두자리를 00으로 초기화
let ans;
for (let i=N; i < (N+100); i++) {
if (i % F === 0) {
ans = i;
break;
}
}
ans = String(ans);
return ans.slice(ans.length-2);
}
시간은 다음과 같이 걸렸다.
728x90
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 11047번 : 동전 0 (0) | 2023.06.02 |
---|---|
[BOJ] 2002번 : 추월 (0) | 2023.05.31 |
[BOJ] 2798번 : 블랙잭 (1) | 2023.04.22 |
[BOJ] 3085번 : 사탕 게임 (0) | 2023.04.22 |
[BOJ] 1874번 : 스택 수열 (0) | 2023.04.19 |