-
[코딩테스트] - 숫자의 표현 LV2 ( 프로그래머스(programmers) / java )👍programmers 2024. 4. 23. 17:47728x90반응형
안녕하세요 나홀로전세집입니다.
운도야 차차차! 오늘은 레벨2 숫자의 표현을 풀어보겠습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
다음은 문제 설명입니다.
정해진 숫자 n을 연속된 숫자의 덧셈으로 구하는 문제입니다.
문제 시작 전 간단하게 알고리즘을 구상해봤습니다.
최솟값을 1 씩 더해가며 연속된 자연수를 더해 n 나오면 체크하기
위의 알고리즘을 가지고 코드를 작성해보았습니다.
최솟값과 연속된 자연수를 따로 증가시켜주기 위해 이중반복문을 사용하였습니다.
다음은 문제풀이 코드입니다.
class Solution { public int solution(int n) { // 최솟값을 1 씩 더해가며 연속된 자연수를 더해 n 나오면 체크하기 int answer = 0; int sum = 0; for (int i = 1; i <= n; i++) { // 더하고자 하는 최솟값을 1부터 1씩 증가시키기 sum = 0; for (int j = i; j <= n; j++) { // 최솟값부터 1씩 증가시키며 연속된 자연수를 체크하기 sum += j; if (sum == n) { // 모두 더한 값과 n이 같으면 표현 가능한 방법 1 증가 answer++; break; } else if (sum > n) { // 덧셈으로 n을 넘어가면 덧셈 종료 break; } } } return answer; } }
i를 통해 최솟값을 1씩 증가시켜주고, j를 통해 i부터 1씩 증가시킨 값을 더해 n이 나오는지 체크해보았습니다.
간단한 문제였습니다.
오늘도 즐코딩 하시고 좋은 하루 되세요~
728x90반응형'programmers' 카테고리의 다른 글
[코딩테스트] - JadenCase 문자열 만들기 LV2 ( 프로그래머스(programmers) / java )👍 (2) 2024.04.12 [코딩테스트] - 피보나치 수 LV2 ( 프로그래머스(programmers) / java )👍 (1) 2024.04.11 [코딩테스트] - 짝지어 제거하기 LV2 ( 프로그래머스(programmers) / java )👍 (0) 2024.04.11 [코딩테스트] - 최댓값과 최솟값 LV2 ( 프로그래머스(programmers) / java )👍 (15) 2024.04.04 [코딩테스트] - 다음 큰 숫자 LV2 ( 프로그래머스(programmers) / java )👍 (0) 2024.04.04