분류 전체보기1173 [백준, Java] 4811번, 알약(DP, 재귀) 문제 링크 4811번: 알약70세 박종수 할아버지는 매일 매일 약 반알을 먹는다. 손녀 선영이는 종수 할아버지에게 약이 N개 담긴 병을 선물로 주었다. 첫째 날에 종수는 병에서 약 하나를 꺼낸다. 그 다음, 그 약을 반으로 쪼개서 한 조각은 먹고, 다른 조각은 다시 병에 넣는다.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. N개의 알약이 담긴 병이 존재합니다.2. 하루의 1번 반 조각의 약을 먹으며, 꺼낸 약이 반 조각이 아니면 반으로 .. 2025. 5. 9. if-else의 갇혀버린 return 문을 구출하기 위해 Early Return 패턴을 활용하자 해당 글은 클린 코드의 대한 자유로운 의견을 공유하고 작성된 것으로 다양한 의견이나 잘못된 내용이 있으시면 댓글 남겨주시면 감사하겠습니다.What is Early Return Pattern???? Early Return Pattern을 처음 듣게 되면 디자인 패턴처럼 무언가 선뜻 다가오지 않게 느껴졌습니다. ❗️EarlyReturn함수나 메서드 내에서 특정 조건이 충족되면 즉시(early) 결과를 반환(return)하여 불필요한 코드 실행과 중첩된 조건문을 방지하는 프로그래밍 기법이다. private String method1(String input) { if (input == null) { throw new NullPointerException("input is null"); } .. 2025. 5. 7. 부정 연산자도 메서드로 구분하자(NOT, !) 해당 글은 클린 코드의 대한 자유로운 의견을 공유하고 작성된 것으로 다양한 의견이나 잘못된 내용이 있으시면 댓글 남겨주시면 감사하겠습니다.보통 Boolean 타입으로 부정형을 정의할 때 부정 연산자(!)을 사용하게 됩니다 [n이 null이 아닐 때]n != null[n이 10이 아닐 때]n != 10[n이 유효하지 않을 때]validation() : 유효성 확인 Method!n.validation() 이 글의 제목을 읽어보고 나면 1개의 질문이 떠오르실 것 이라고 생각합니다. 위 코드처럼 부정 연산자(!)을 그대로 사용하면 되지 않나요? Method를 굳이 나눠야 할까요? 저의 주관적인 생각으로는 부정 연산자(!)을 생각하는 로직도 Method 형태로 구분하는 것이 유지보수에 도움이 된다고 생각합니다... 2025. 4. 28. [백준, Java] 1351번, 무한 수열(DP) 문제 링크 1351번: 무한 수열무한 수열 A는 다음과 같다.A0 = 1Ai = A⌊i/P⌋ + A⌊i/Q⌋ (i ≥ 1) N, P와 Q가 주어질 때, AN을 구하는 프로그램을 작성하시오.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. 점화식을 따르는 무한 수열 A가 존재합니다.2. An의 값을 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. 수열 A에 대해서 점화식을 통해 An에 대한 값을 탐색합니다. 3... 2025. 4. 17. 나만의 클린 코드 이야기 - Enum의 description 변수를 사용하자 해당 글은 클린 코드의 대한 자유로운 의견을 공유하고 작성된 것으로 다양한 의견이나 잘못된 내용이 있으시면 댓글 남겨주시면 감사하겠습니다.상수를 정의하는 방법으로 interface, 자체 클래스 상수, 내부 final 상수로 만드는 방법이 많지만 Java에서 상수를 정의하라고 만든 Enum 클래스 타입이 존재합니다. Enum 클래스에서 정의한 상수의 네이밍으로 한 눈에 알아볼 수 있지만, 상세적인 내용을 1개의 네이밍으로 설정하는 것은 쉽지 않은 일입니다. public enum Type{ TYPE_NAME1(...), TYPE_NAME2(...), TYPE_NAME3(...), TYPE_NAME4(...); ...} 해당 Enum 클래스의 유지보수성을 높이기 위해서 description 변수.. 2025. 4. 3. [백준, Java] 13710번, XOR 합 3(비트마스킹, 누적합) 문제 링크 13710번: XOR 합 3수열의 XOR 합이란 수열에 들어있는 모든 원소를 다 XOR한 값이다. 수열 A 주어졌을 때, A의 모든 연속하는 부분 수열의 XOR 합을 더한 값을 구하는 프로그램을 작성하시오.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. 수열 XOR 합은 수열에 들어있는 모든 원소를 XOR한 값이다.2. 수열 A가 주어질 때 모든 연속하는 부분 수열의 XOR합을 더한 값을 결과로 출력합니다.3. 수열에는 1,00.. 2025. 3. 28. 이전 1 2 3 4 ··· 196 다음