| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 유니티3dui
- 유니티게임만들기
- 오블완
- unity3d게임만들기
- unity3d
- c#코테
- unity3dservival
- unity게임
- c#기초문법
- 백준 구현문제
- 바킹독
- C#문법
- 유니티공부
- c#
- 유니티서바이벌게임만들기
- c#프로그래머스기초문법
- c# c#프로그래머스
- c#기본문법
- 티스토리챌린지
- 유니티
- 바킹독알고리즘
- c#문제
- 백준
- c#코딩기초트레이닝
- Unity
- 백준코테
- 백준코딩테스트
- 백준 c++ 공부
- unity게임만들기
- 백준 C++
- Today
- Total
나 개발자 진짜 되냐?
백준 C++ 4673번 셀프 넘버 ( while문으로 자릿수 쪼개기) 본문

주말에 문제 푼다고 선포하지 말걸.....
실외에서 일하다 보니까..
추운 곳에서 일하여 다 와서 그런지
어어어어어어 엄청
여름 때보다 훠어어얼씬 피곤하다.
그런데 이 문제를 풀려고 하니
눈이 풀릴 수밖에.....................................
오늘의 문제 셀프 넘버..
... 정답률이 49 퍼라 해볼 만하다고 생각했다.
그럴 줄 알았다.
.
.
.
그건 내 착각이었다..

신나게 짰다.

이 식을 디버깅해 보니.. 문제가 발생했다.
100까지 셀프넘버는 13개라는데 나는 뭐 30개가 넘었다..
ㅋㅋㅋㅋㅋ
그 이유를 봤더니
1. 지금 보니까 배열을.. 10000개만 만들어놨는데...
9999이고 막 9 고 이러면 10000이 넘으니까.. 안된다.
2. 이제 보니 10000까지 하랬는데 10의 자리랑 1의 자리만 하고 있었다..
자,
하나씩 해보자.
1부터 10000까지 해야 하니까 배열은 최소 10001 개
bool num [10001] = {false}로 선언해주자.
그리고 여기서 공통적이게 해 줬던 부분이지만
만들어지는 숫자
( 나는 아까 위에서 ten + one + i )라고 했었다.
그렇게 해주는 포인트는 같다.
자릿수를 어떻게 하냐면
while문으로 해준다.
예전에 한번 한적 있는데..
이제 다시 또 외워야지
그 숫자에 대해
while( x > 0)
sum += x %10;
x /=10;

혼자 풀어보려고 또 열심히... 써봤다.
근데 디버깅했더니 틀렸단다 이유가 뭘까?!
다들 알고 있겠지만? 나는 몰랐다.
ㅋㅋㅋㅋㅋㅋ
근데 i를 고쳐버리면 다음에 ++할 때 문제가 생기지 않는가!!!!!!!!!!!!!!!!!!!!!!!!!!!!
바보!!!!!!!
그래서 i값을 어디에 저장해둬야 한다.
흠? 그럼 sum에는 왜 i를 넣어요?
왜냐면 아까 내 위에 식에서 보면 one + ten + i
즉 자기 자신에다가 자릿수를 더했다.
그렇기 때문에 sum안에 나 자신을 미리 저장해 두고!
한 자릿수 씩 넣어서 더하는 것이다.
그리고 가장 중요한 것!!
아까도 말했지만 i가 9999라면
9999+9+9+9+9로
10035가 나온다..
하지만 우리는 10000까지만 하기로 했으니까 10001개를 만든 것이고
저식 그대로 하면..?! 오류가 발생한다! 그래서 조건문을 넣어줘야 한다.

이렇게!
10000이 넘기 때문에 sum에 조건문이 필요했고,
글자수를 자르는 방법인
while문 + %10, /10 넣기
잊지 말자!
고생했다 토요일!
파이팅 하자 일요일!
'C++을 시작해봐요! > 구현문제를 풀어봤어요!' 카테고리의 다른 글
| 백준 C++ 5622번 다이얼 ( switch ) (1) | 2025.12.24 |
|---|---|
| 백준 C++ 1316번 그룹 단어 체커 ( break, continue ) (0) | 2025.12.22 |
| 7일째 1일 1문제 달성중 (0) | 2025.12.18 |
| 백준 C++ 2908번 상수 ( reverse, stoi ) (1) | 2025.12.13 |
| 백준 C++ 1157번 단어 공부 ( toupper ) (0) | 2025.12.11 |
