1. 문제와 문제 조건 파악하기
문자열 처리 관련 문제에 사용되는 코딩 문법은 배열(리스트 등)을 기본으로 합니다. 먼저, 문자열을 변수로 넣었을 때, 조건에 부합하면 참, 조건에 맞지 않으면 거짓 결과를 출력하는 방식과 유사하게 문제가 출제됩니다. 여기에서는 다음과 문제의 답을 찾아가는 코딩을 해보겠습니다.
문제:
길이가 10 이하인 문자열을 변수로 받아 대문자로 변환하여 반환하는 프로그램을 제작해라. 입력된 문자열은 a부터 z까지의 알파벳만 허용된다.
(만약 다음의 조건을 만족하면 True, 만족하지 않으면 False를 출력하도록 할 것)
조건:
- 특수문자는 사용될 수 없다. 숫자도 사용될 수 없다.
- 공백은 사용될 수 없다.
- 아무것도 입력되지 않은 변수 또한 사용될 수 없다.
2. 유용한 함수들 _ import string, isalpha() 함수
문자열을 대문자로 변환하거나 소문자로 변환할 때, 조건문으로 코드를 도배하면 상당히 지저분한 코딩이 될 것입니다. 이를 해결하기 위해서 string 모듈을 소개합니다. 이 함수를 사용하면 단 한 줄의 코딩으로 문자열을 대문자 혹은 소문자로 변환해 줄 수 있습니다. 그렇다면 다음과 같이 string 함수의 코드를 알아봅시다.
코드 1 _ 변수 이름. lower()
; 변수에 할당된 문자열을 모두 소문자로 변환해주는 코드입니다.
코드 2 _ 변수 이름. upper()
; 변수에 할당된 문자열을 모두 대문자로 변환해주는 코드입니다.
그렇다면, 특수문자 혹은 숫자는 어떻게 처리할까요? 파이썬 내부 모듈로 알파벳인지 숫자인지 특수 문자인지 구별해주는 코드가 있습니다. 다음과 같은 코드도 알아 두도록 합시다.
코드 3 _ 변수 이름. isalpha()
; 변수에 할당된 문자열이 알파벳인지 아닌지 판별해주는 코드입니다.
* 알파벳이 맞으면 True 틀리면 False를 반환합니다.
코드 4 _ 변수 이름. isdigit()
; 변수에 할당된 문자열이 숫자인지 아닌지 판별해주는 코드입니다.
* 숫자가 맞으면 True 틀리면 False를 반환합니다.
3. 문제 풀어보기
문제를 해결하기 위해 제시한 예시 코드는 다음과 같습니다.
코드 결과:
import string
STR="hello"
STR2="#isfalse"
STR3="324X"
STR4=" void"
def convert(STR):
num=len(STR)
C=STR.isalpha()
if num >10 or C ==False:
Ans = False
if num <11 and C==True:
print("TRUE")
Ans=STR.upper()
return Ans
convert(STR)
convert(STR2)
convert(STR3)
convert(STR4)
코드 결과:
'COMPUTER SCIENCE > Coding Test' 카테고리의 다른 글
DFS 및 BFS 기본 응용 문제 _ 방문 순서 출력 (0) | 2022.01.21 |
---|---|
코딩 테스트 준비 문제[리스트 스택/큐] _ python3 (0) | 2022.01.17 |
코딩 테스트 준비 문제 [사칙 연산 문제] _ Python3 (0) | 2022.01.10 |
코딩 테스트 준비 문제 [약수 문제] _ Python3 (0) | 2022.01.10 |
코딩 테스트 준비 문제 [로또 관련 문제] _ Python3 (0) | 2022.01.07 |