티스토리 뷰
728x90
반응형
코드잇 강의를 듣고 정리한 알고리즘 문제들 입니다.
컴퓨터 알고리즘 : 컴퓨터가 어떤 문제를 해결하기 위해서 컴퓨터가 이해할 수 있는 방식으로 정리되어 있는 해결 방법
1. 팔린드롬 체크 함수 구현
- "토마토" 나 "기러기"처럼 거꾸로 읽어도 똑같은 단어를 팔린드롬이라고할 때,
문자열 word가 팔린드롬인지 확인하는 함수를 만들어 해결해보기
조건
-함수명 : is_palindrome
-매개변수명 : word
-반환값 : 팔린드롬일 시 True , 아닐 시 False
풀이1
-내장함수(join,reversed)사용
def is_palindrome(word):
reverse_word = "".join(reversed(word))
if reverse_word != word:
return False
return True
# 테스트
print(is_palindrome("racecar"))
print(is_palindrome("stars"))
print(is_palindrome("토마토"))
print(is_palindrome("kayak"))
print(is_palindrome("hello"))
'''
더 알아보기
'''
# reversed() : 역 iterator를 리턴함
reverse_word = reversed(word)
print(reverse_word) # 출력 결과 : <reversed object at 0x7fb88b131e50>
# str.join(iterable) : iterable 의 문자열들을 이어 붙인 문자열을 리턴함
reverse_word = "".join(reversed(word))
print(reverse_word) # 출력 결과 : racecar
#reverse()는 list 타입에서 제공하는 함수 이므로 이것을 사용하려면 리스트로 바꾸어줘야함
def is_palindrome(word):
lst = list(word)
lst.reverse()
lst = ''.join(lst)
if lst != word:
return False
return True
풀이2
-for문 사용
def is_palindrome(word):
reverse = ""
for i in word[::-1]:
reverse += i
if word != reverse:
return False
return True
# 테스트
print(is_palindrome("racecar"))
print(is_palindrome("stars"))
print(is_palindrome("토마토"))
print(is_palindrome("kayak"))
print(is_palindrome("hello"))
'''
더 알아보기
'''
# 변수명[star:stop:step]
# star가 None 이면, 처음부터
# stop이 None 이면, 끝까지
# step이 None 이면, 한칸 간격으로 (step이 음수면 역순으로 간격을 셈)
# ex)
word="hello"
print(word[::2]) # 출력 결과 : hlo
print(word[::-2] # 출력 결과 : olh
728x90
반응형
'[코드잇] > ㄴ알고리즘' 카테고리의 다른 글
[알고리즘] 문제4 - Brute Force (0) | 2021.06.14 |
---|---|
[알고리즘] 문제3 - 재귀 함수 (0) | 2021.06.14 |
[알고리즘] 정리 - 알고리즘 평가법 (0) | 2021.06.10 |
[알고리즘] 정렬1 - 선택 정렬, 거품 정렬, 삽입 정렬 구현해보기 (0) | 2021.06.10 |
[알고리즘] 문제2 - 탐색 알고리즘 (0) | 2021.06.09 |
댓글
250x250
반응형
TAG
- 코드잇
- x만큼간격이있는n개의숫자
- 정렬
- 알고리즘문제
- 문법
- 알고리즘
- 설치
- 이진탐색
- 피보나치
- 파이썬문법
- 월간 코드 챌린지 시즌2
- 월간 코드 챌린지 시즌1
- 코딩테스트
- 프로그래머스
- 유닉스커맨드
- Summer/Winter Coding(~2018)
- level1
- 프로그래머스문제
- 프로그래머스 프로그래머스문제
- 프로그래밍언어
- 컴퓨터개론
- KAKAO
- 파이썬
- 프로그래머스코딩테스트
- 조합
- GIT
- 백준
- level2
- 재귀함수
- SWiFT
최근에 달린 댓글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
링크
- Total
- Today
- Yesterday