2022. 12. 24. 00:51ㆍ파이썬(Python)
1. 문자열을 정수로 변환
- int() 함수로 감싸준다.
a='123'
a=int(a)+1
print(a)
Q) 붙여서 합하기
- 숫자 a, b를 입력
- a와 b를 붙인 ab와 바꿔 붙인 ba의 합을 구하기
a,b=input().split()
ab=a+b
ba=b+a
print(int(ab)+int(ba))
결과
>> 123 456
579579
- 두 숫자 123, 456을 각각 이어 붙인 123456과 거꾸로 붙인 456123의 합을 구하면 579579이다.
Q) 정수만 추출하여 더하기
- 알파벳과 숫자로 이루어진 문자열을 두 개 입력
- 각 문자열에서 숫자만 추출하여 붙인 후 두 수를 더한 값을 출력
a=input()
b=input()
a_num,b_num=str(),str()
for i in a:
if i.isdigit(): a_num+=i
for i in b:
if i.isdigit(): b_num+=i
print(int(a_num)+int(b_num))
결과
>> 12hello34
>> 5world678
6912
- isdigit을 사용하여 숫자인 문자열이면 빈 문자열에 더함
- 빈 문자열은 숫자로만 이루어진 문자열이 된다.
- 각각을 int로 감싸 두 수를 더함.
2. 정수를 문자열로 변환
- str() 함수로 감싸준다.
a=123
a='456'+str(123)
print(a)
결과
456123
Q) 숫자 분석
- 두 수를 입력하여 곱한 후 결과에 숫자가 얼마큼 나타났는지 출력
a,b=map(int,input().split())
result=str(a*b)
c=[0 for _ in range(10)]
for i in result:
c[int(i)]+=1
print(f'두 수의 곱 : {result}')
for i in range(10):
if c[i]!=0:
print(f'{i} : {c[i]}')
결과
>> 125 468
두 수의 곱 : 58500
0 : 2
5 : 2
8 : 1
- 두 수를 곱하고 그 값을 문자열로 변경
- 결과를 하나씩 순환하여 하나의 숫자가 index가 되어 c (길이가 10, 모든 원소가 0 리스트)의 값을 1 증가.
- c의 원소가 0인 것은 출력하지 않음 -> 0이면 결과에 포함되지 않음
Q) 결괏값 회전 출력
- 정수 n 입력. n개의 숫자를 입력
- n개의 숫자를 모두 더함.
- 정수 m을 입력
- 결괏값을 m번 왼쪽으로 이동.
- 왼쪽으로 이동할 때 첫 번째 수는 맨 끝자리로 이동
n=int(input())
result=0
for _ in range(n):
num=int(input())
result+=num
m=int(input())
result=str(result)
cnt=m%len(result)
new_result=result[cnt:]+result[0:cnt]
print(f'{result}를 {m}번 회전 : {new_result}')
결과
>> 3
>> 1324
>> 5698
>> 77321
>> 4
84343를 4번 회전 : 38434
- n개의 수를 모두 더한 후 문자열로 변환
- 결과 값의 길이가 k라 하면 k번 회전하면 원상태로 돌아옴.
-> 길이를 k로 나눈 나머지만큼 회전
- 나머지를 index 기준으로 하여 나머지를 포함한 앞 문자와 뒤 문자를 교체
3. 문자열 비교
- '==' : 두 문자열이 동일하면 True, 동일하지 않으면 False
- '<', '>' : 사전 순으로 앞선 문자열이면 더 작다.
print('abc'=='abd')
print('abc'=='abc')
print('abc'<'bc')
print('ab'<'bc')
print('bd'<'bc')
결과
False
True
True
True
False
'파이썬(Python)' 카테고리의 다른 글
[Python] 함수 - return 값 반환. 기본값 설정. asterisk (0) | 2023.01.03 |
---|---|
[Python] 함수 - 기본 사용법 및 출력 (0) | 2022.12.29 |
문자열 회전, 아스키 코드 (0) | 2022.11.10 |
문자열 문제풀이2 (0) | 2022.11.09 |
문자열 문제 풀이 (0) | 2022.11.08 |