2025/07 4

[백준/Java] Lifeguards (Bronze) 15593 (뇌빼기 연습)

(*뇌 빼기 연습 -> 당신이 머리 쓰는 것보다, 컴퓨터가 몸으로 차력쑈 하는 게 성능이 더 좋다. 컴퓨터를 사용하는 법을 먼저 익히자) 문제: https://www.acmicpc.net/problem/15593 조건TimeLimit = 2s10 풀이 (1)최대 n=100이므로, lifeguard를 하나씩 차례대로 제외하고 계산한다면?-> 매번 99개 더하기(O(99)) * 100번반복(O(100)) = 9900-> 완탐가능-> 입력 저장해두고, 차례대로 제외하면서 모두 더해서 max time을 구해보자 코드(1)import java.io.*;import java.util.*;/* * Condition * - TimeLimit = 2s * - 1 매번 99개 더하기(O(99)) * 100번반복(O(..

[백준/Java] 수학은 비대면강의입니다 19532 (뇌빼기 연습)

(*뇌 빼기 연습 -> 당신이 머리 쓰는 것보다, 컴퓨터가 몸으로 차력쑈 하는 게 성능이 더 좋다. 컴퓨터를 사용하는 법을 먼저 익히자) 문제: https://www.acmicpc.net/problem/19532 조건-999(x,y)는 유일하다-999TimeLimit = 1s 풀이x와 y의 범위를 모두 탐색하면?-> 1999*1999 ~= 400만-> 1s안에 충분히 들 수 있다완탐으로 풀어보자 코드import java.io.*;import java.util.*;/* * Condition * - -999 1s안에 충분히 들 수 있다 * - 완탐으로 풀어보자 */public class Main { public static void main(String[] args) throws IOExceptio..

[백준/Java] 적어도 대부분의 배수 1145 (뇌빼기 연습)

(*뇌 빼기 프로젝트 -> 당신이 머리 쓰는 것보다, 컴퓨터가 몸으로 차력쑈 하는 게 성능이 더 좋다. 컴퓨터를 사용하는 법을 먼저 익히자)문제: https://www.acmicpc.net/problem/1145 조건TimeLimit = 2sn = 5각 수는 100이하의 서로 다른 자연수 풀이자연수가 5개밖에 없으니까, 모든 조합(5C3)을 구한 다음 최소공배수를 구해도 가능하겠다-> nCr 어떻게 구현?-> 아! 재귀로 구현해보자 ...더 간단하게 가능?-> 재귀는 무슨, 그냥 3중 for문 돌려버려도 되지 않나?-> 최소공배수를 구하려면 이건 불가능더 간단하게 가능??-> 생각해 보면 가능한 최댓값이 98*99*100(대략100만)임-> 이 말은, 1부터 대략 100만까지 전부 다 탐색해도 O(1..

[Domain Model Pattern] 도메인 모델 패턴에서 테스트코드 작성에 대한 고찰

최근 'DDD'와 '도메인 모델 패턴'에 관심을 보이신 스터디원께 이런 질문을 받았다"DDD를 적용하면 비즈니스 로직이 도메인 모델에 위치하는 거라 이해했는데, 그렇다면 테스트코드는 어떤 방식으로 작성하나요? 그냥 하면 되는 건가요?" 최근에는 테스트코드를 작성한 적도 잘 없었고, 있더라도 그냥 기계적으로 작성하다 보니 한 번쯤은 정리해 보면 좋을 것 같아서 '도메인 모델 패턴에서의 테스트코드'에 대해 생각해 보게 됐다 작성하고보니 'DDD'나 '도메인 모델 패턴'에 국한된 게 아니라, 어떤 형태로 프로젝트를 구성하든 테스트코드를 작성할 때 고민해 보면 좋은 것이라 생각된다어쨌든 오늘은 이 질문을 바탕으로, 테스트코드에 대해 내가 어떤 방식으로 접근하고 있는지를 이야기해 보겠다 첫 테스트코드 ..