목록전체 글 (601)
sm 기술 블로그
let input = require("fs").readFileSync("ex.txt").toString().split(" "); let min = 1000000; for (let i = 1; i < parseInt(input[0]); i++) { let num = i; let sum = i; while (parseInt(num) != 0) { sum += parseInt(num) % 10; num /= 10; } if (sum === parseInt(input[0]) && sum < min) { min = i; } } if (min === 1000000) { console.log(0); } else { console.log(min); } 각 자릿수를 더 할 수 있냐 없냐를 물어보는 문제이다. 자세한 설명..
N = int(input()) min = 1000000 for i in range(N): num = sum = i while (num != 0): sum += num % 10 num //= 10 # 각 자릿수를 더해줌 if sum == N and sum < min: min = i if min == 1000000: print(0) else: print(min) 여기서 핵심은 while (num != 0): sum += num % 10 num //= 10 이것이다. 이 로직이 1의 자리 수만 뽑아낸 다는 것을 알면 크게 어렵지 않을 것이다. ex) 15 num % 10 = 5 num // 10 = 1 num % 10 = 1 num // 10 = 0 만약 생성자가 없다면 처음에 초기화한 min 값이 그대로 들..
let input = require("fs").readFileSync(0).toString().trim().split("\n"); let firstLine = input[0].split(" ").map(Number); let secondLine = input[1].split(" ").map(Number); let N = firstLine[0]; let M = firstLine[1]; let max = 0; for (let i = 0; i max ..
TDD 테스트를 진행하면서 코딩을 하는 방식 pom.xml 에 아래 문구를 추가한다. org.junit.jupiter junit-jupiter-api 5.8.2 test TDD 방법 실패하는 테스트를 만든다. // src/test/java/com/exam/exam1/AppTest.java package com.exam.exam1; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; public class AppTest { @Test public void 더하기() { Calc calc = new Calc(); calc.setNo1(1); calc.setNo2(2); int rs = ca..