▼ Why ? What ?
1일 1알고리즘 스터디에서 "숫자의 표현"이라는 문제를 풀었다. 이번 문제 또한 간단해서 쉽게 해결했던 것 같고, "정수론"의 정의를 이용해 풀이한 코드가 있어서 해당 코드도 추가로 정리해봤다.
▼ 알고리즘 문제 : "숫자의 표현"
숫자의 표현
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 나의 해결 코드 ]
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n; ++i) {
int tmp = i;
int sum = 0;
boolean flag = false;
while (sum <= n) {
sum += tmp;
if (sum == n) flag = true;
tmp++;
}
if (flag) answer++;
}
return answer;
}
}
[ 다른 사람의 해결 코드 ]
- `주어진 자연수 n을 연속하는 자연수들의 합으로 표현한 경우의 수 = 주어진 자연수 n의 홀수 약수의 개수`라는 정수론 정리를 활용한 코드이다.
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= num; i += 2)
if (num % i == 0)
answer++;
return answer;
}
}
▼ Why ? What ?
1일 1알고리즘 스터디에서 "숫자의 표현"이라는 문제를 풀었다. 이번 문제 또한 간단해서 쉽게 해결했던 것 같고, "정수론"의 정의를 이용해 풀이한 코드가 있어서 해당 코드도 추가로 정리해봤다.
▼ 알고리즘 문제 : "숫자의 표현"
숫자의 표현
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 나의 해결 코드 ]
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n; ++i) {
int tmp = i;
int sum = 0;
boolean flag = false;
while (sum <= n) {
sum += tmp;
if (sum == n) flag = true;
tmp++;
}
if (flag) answer++;
}
return answer;
}
}
[ 다른 사람의 해결 코드 ]
- `주어진 자연수 n을 연속하는 자연수들의 합으로 표현한 경우의 수 = 주어진 자연수 n의 홀수 약수의 개수`라는 정수론 정리를 활용한 코드이다.
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= num; i += 2)
if (num % i == 0)
answer++;
return answer;
}
}