일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바 개념
- 파이썬 챌린지
- 백준
- ubuntu
- Operating System
- 파이썬 알고리즘
- 자바 기초
- Rust
- 백준 러스트
- Reversing
- 오라클
- OS
- data communication
- 자바
- 파이썬
- 우분투
- Python challenge
- Python
- 러스트 프로그래밍 공식 가이드
- Database
- 러스트
- C
- 알고리즘
- 파이썬 첼린지
- 운영체제
- 러스트 예제
- 오라클DB
- 데이터 통신
- java
- 데이터베이스
Archives
- Today
- Total
IT’s Portfolio
[Python] 코딩도장 - 넥슨 입사문제 중에서 본문
728x90
반응형
sum_c = []
check_bool = True
answer_for = 0
'''
각 자릿수 숫자들과 자신을 더하기 위한 for문
int 자료형으로는 인덱스를 나눌 수 없기에 str 자료형으로 바꿔준 후 다시 int 자료형으로 바꿔서 연산해준다.
각 자릿수 숫자들은 더해준 후 자기 자신을 더해준다. 그리고 sum_c 리스트에 append 한다.
결과적으로 sum_c에는 1부터 4999까지의 제네레이터가 포함된다.
'''
for i in range(1, 5000):
sum_check = 0
for j in range(0, len(str(i))):
sum_check = sum_check + int(str(i)[j])
sum_check = sum_check + i
sum_c.append(sum_check)
# bool 체크해서 출력하는 코딩
'''
1부터 4999까지의 숫자가 sum_c의 모든 값들을 하나하나 대조하며 같은지 아닌지를 확인하는 for문
같다면 check_bool이 True이며 같지 않다면 False를 저장한다.
그 후 check_bool이 False라면 answer_for에 i를 계속 더해간다.
결과적으로 check_for에는 제네레이터가 없는 숫자들만 더해진다.
'''
for i in range(1, 5000):
for j in range(0, len(sum_c)):
if sum_c[j] == i:
check_bool = True
break
else:
check_bool = False
if check_bool == False:
answer_for = answer_for + i
print(answer_for)
# set 자료형을 사용해서 출력하는 코딩
'''
1부터 4999까지의 숫자를 set으로 set 자료형을 만들고 sum_c를 set 자료형으로 만들어 두 집합의 여집합을 구하는 코딩이다.
answer_set에는 제네레이터가 없는 숫자들만 포함되며 sum 메서드를 사용해 각 원소들을 모두 더해주면 된다.
'''
answer_set = set(range(1, 5000)) - set(sum_c)
print(sum(answer_set))
* sum : 리스트에 있는 값, 원소들을 합해주는 메서드
* set : 집합 자료형, 리스트 함수이며 원소가 중복되지 않는다는 특징이 있음
모범답안
print(sum(set(range(1, 5000)) - {x + sum([int(a) for a in str(x)]) for x in range(1, 5000)}))
이해하기 위한 코딩
i = 101
print([int(j) for j in str(i)])
print(sum(int(j) for j in str(i)))
728x90
반응형
'Development Study > Python' 카테고리의 다른 글
[Python] 파이썬의 문자열 포메팅 (0) | 2020.11.29 |
---|---|
[Python] 코딩도장 - Spiral Array (2) | 2020.06.18 |
[Python] 하위 디렉터리 검색 (sys 라이브러리 응용) (0) | 2020.06.10 |
[Python] 간단한 메모장 스크립트 만들기 (0) | 2020.06.07 |
[Python] 알고리즘 - 게시판 페이징하기 (0) | 2020.06.06 |
Comments