줴림이 공부하줴림
[SWEA] [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 4. 문자열 본문
앞 과정인 리스트, 튜플, 셋, 딕셔너리 싹 건너뛰고 잘 모르는 문자열이랑 객체지향부터 하기로 결정! 근데 운동 가기까지 1시간 밖에 안남아서 문자열 연습문제 풀다가 중간에 사라질 듯..
1. 다음의 결과와 같이 회문(앞뒤 어느 쪽에서도 같은 단어, 말) 여부를 판단하는 코드를 작성하십시오.
어라.. 회문 문제 전에 봤던 것 같은데. 그때는 그냥 철자 하나하나를 거꾸로 저장해서 비교했다면, 이번에는 어떤 다른 접근 방식으로 풀어야 하는걸까.
for i in range(len(words)//2):
if words[i] != words[-i-1]:
print("입력하신 단어는 회문(Palindrome)이 아닙니다.")
break
print("입력하신 단어는 회문(Palindrome)입니다.")
이번엔 인덱스 거꾸로 비교하는 방법으로 했다. 근데 인터넷의 다른 분들 보니까 되게 뭔가 길고... 간지나는... 그런 코드던데 난 왜 이거밖에 모르겠냐..
2. 다음과 같이 문장을 구성하는 단어를 역순으로 출력하는 프로그램을 작성하십시오.
words = input()
list_words = words.split(' ')
res = ''
for i in list_words:
res = i + ' ' + res
print(res)
3. 임의의 URL 주소를 입력받아 protocol, host, 나머지(path, querystring, ...)로 구분하는 프로그램을 작성하십시오.
url_input = input()
list_url = url_input.replace(':/', '').split('/')
print(f"protocol: {list_url[0]} \nhost: {list_url[1]} \nothers: {list_url[2]}")
처음에 print() 3번 써서 protocol, host, others 각각 출력했었는데, 굳이 왜 이렇게 하지 싶어서 f-string으로 갈아탐. f-string 쓰니까 편하긴 하군.
4. 여러 문장을 입력받아 대문자로 변환해 출력하는 프로그램을 작성합니다. 아무 것도 입력하지 않고 엔터만 입력하면 입력이 종료됩니다.
for i in range(3):
words = input()
if not words:
break
words = words.upper()
print(f">> {words}")
입력을 3번 받는데 엔터만 입력하면 종료되어야 하니까 if break 문 사용해서 조건 걸어주고,
upper() 사용해서 대문자로 바꾸고 출력.
5. 사용자가 입력한 문장에서 공백을 이용해 단어들을 구분하고, 중복된 단어 없이 단어를 콤마(,)로 구분해 사전 순으로 출력하는 프로그램을 작성하십시오.
# 1번째 풀이
words = list(input().split(' '))
new_list = []
for i in words:
if i not in new_list:
new_list.append(i)
new_list = sorted(new_list)
print(*new_list, sep=',')
# 2번째 풀이
words = input().split(' ')
new_list = set(words)
print(','.join(sorted(new_list)))
2가지 새롭게 알게 된 것, 내지는 다시 머릿속에서 복기하는 개념.
1. join() 함수: 리스트에 담긴 값들에 특정 구분자를 준다거나 값들을 합칠 때 사용된다고 함.
-> '구분자'.join(리스트)
2. 집합 set(): 중복된 값을 포함하지 않는 자료구조. 그래서 join을 사용하니까 리스트 특유의 ['(문자)'] 이런 형태가 사라진거구나... 앞으로 자주 등장할 듯.
6. 문자열을 입력하면 짝수 인덱스를 가진 문자들을 출력하는 프로그램을 작성하십시오.
words = input()
ans = ''
for i in range(0, len(words), 2):
ans += words[i]
print(ans)
문자열 연습문제 풀이 끝!!! 눈밑이 피곤하다고 소리치고 있다... 하지만 곧 운동가야해서 못 잠.
'Study > SWEA' 카테고리의 다른 글
[SWEA] [파이썬 SW 문제해결 기초] 1. List1 (0) | 2025.04.04 |
---|---|
[SWEA] [파이썬 프로그래밍 기초(2) 파이썬의 기본 응용] 5. 객체지향 (1) | 2025.04.03 |
[SWEA] [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장 함수 (0) | 2025.04.02 |
[SWEA] [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수 기초 (0) | 2025.04.02 |
[SWEA] [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름 제어 - 반복 (0) | 2025.04.02 |