일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- kotlin
- AOP
- java
- 토비의 스프링
- git
- Action
- rds
- CodeDeploy
- Github
- redis
- QueryDSL
- db
- Spring
- springboot
- mutable
- aws
- build_test
- 알고리즘
- JUnit
- JPA
- Airflow
- immutable
- EC2
- 사이드 프로젝트
- compiler
- template
- workflow
- string
Archives
- Today
- Total
개발 일기
프로그래머스 레벨2 숫자의 표현 (JAVA) 본문
오늘 도 풀었다 2레벨!
아마 내 생각에 레벨2 에서 제일 쉬운 문제일걸 같다.
오늘 풀 문제는
https://programmers.co.kr/learn/courses/30/lessons/12924?language=java
코딩테스트 연습 - 숫자의 표현
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할
programmers.co.kr
숫자의 표현이다.
모든 코드는 GitHub 에 올려놓았다.
n을 연속한 자연수들로 표현 하는 방법 이다.
바로 코드를 보자
class Solution {
public int solution(int n) {
int answer = 0;
int target = n / 2;
int count = 1;
while (count <= target) {
int sum = 0;
for(int i=count; i<=target+1; i++) {
sum += i;
if(sum == n) {
answer++;
}
if(sum > n) {
break;
}
}
count++;
}
return answer + 1;
}
}
문제에서의 15를 예시로 보면
1 2 3 4 5 = 15
이렇게 이어지는 수만된다..
나는 n 을 / 2 로 나눠주고 target까지만 반복문을 돌렸다.
n 이 20일경우 10 + 11 = 21
로 n초과기 때문에 절반까지만 돌리면된다.
끝..
이문제는 ..쓸게 없다.. 제일 쉬운 문제 같다..
'알고리즘 > programmers' 카테고리의 다른 글
프로그래머스 레벨2 카카오프렌즈 컬러링북 (JAVA) (DFS) (0) | 2021.07.18 |
---|---|
프로그래머스 레벨3 네트워크 (JAVA) (DFS,BFS) (0) | 2021.07.18 |
프로그래머스 레벨2 더 맵게 (JAVA) (0) | 2021.07.14 |
프로그래머스 레벨2 124 나라의 숫자 (JAVA) (0) | 2021.07.13 |
프로그래머스 레벨2 전화번호 목록 (JAVA) (0) | 2021.07.11 |