일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- FragmentStateAdapter
- REST API
- Android
- RecyclerView
- Java
- python3
- AndroidX
- 안드로이드 API
- 백준 15686
- okHttp
- 셀레니움
- RETROFIT
- gson
- ViewModel
- LRU
- ViewPager2
- Devexpress
- 필답고사
- TabLayout
- TODO
- 데이터바인딩
- github api
- 안드로이드 플랫폼
- Clean Architecture
- 통계대학원
- 웹 크롤링
- Kotiln
- Android 컴파일
- 수리통계
- Today
- Total
그냥 가끔의 기록장
백준 1110 본문
백준 단계별 문제 풀기 while 파트 마지막 문제다.
백준 1110 문제
문제 풀이
가장 먼저 scanf로 숫자를 입력받고, 새로운 수(주어진 수의 가장 오른쪽 자리 수 + 앞에서 구한 합의 가장 오른쪽 자리 수)를 구하기 위해 입력받은 수의 일의 자리, 십의 자리를 구한다.
tens= n /10; 으로 n의 십의자리 구하고
units= n %10; 으로 n의 일의자리 구한다...
1) 구한 합의 가장 오른쪽 자리 수 구하기
주어진 수(n)의 각 자리수를 합하고 해당하는 수의 일의자리를 구하면 된다.
앞에서 tens, units로 n의 각 자리수를 구했으므로
tens+units 를 하여 합을 구한다.
이 합의 일의 자리수는 10으로 나눈 나머지이므로 %10을 한다.
코드로 작성하면
sum=(tens + units) %10; 이다.
2) 1)과 주어진 수 n의 일의 자리로 새로운 수 구하기
새로운 수는 주어진 수 n의 일의자리(units)을 십의 자리로 하고 1)을 일의자리로 가진다.
코드로 작성하면
sum=(units *10) +sum; 이 된다.
sum이 n과 동일할 때까지 반복해야 하므로
3) tens, units을 갱신해야한다.
새로운 tens는 새로운 수인 sum의 십의 자리이므로
tens = sum /10;
새로운 units는 새로운 수인 sum의 일의 자리이므로
units= sum %10;
4) 새로운 수인 sum을 구했을 경우 count에 1을 더해 사이클 수를 1 증가시킨다.
전체 코드는 아래와 같다.
'기타 개발 > 백준 문제풀이' 카테고리의 다른 글
백준 2675 (0) | 2020.03.03 |
---|---|
백준 10809 (0) | 2020.03.03 |
백준 10951, 10952 (0) | 2020.03.03 |
백준 10871 (0) | 2020.03.03 |
백준 2438, 2439 (0) | 2020.02.26 |