핀아의 저장소 ( •̀ ω •́ )✧
27일차(2020-12-14) 본문
programmers.co.kr/learn/challenges?selected_part_id=12079
코딩테스트 연습
기초부터 차근차근, 직접 코드를 작성해 보세요.
programmers.co.kr
<문제 1> 프로그래머스) 문자열 다루기 기본
1
2
3
4
5
|
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요.
예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
<제한 사항>
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
|
cs |
<답안 1>
1
2
3
4
5
6
7
8
9
10
11
12
|
import re
def solution(s):
if len(s) == 4 or len(s) == 6:
try:
int(s)
except:
return False
else:
return True
print(solution("a234"))
|
cs |
-> 코드 실행에선 통과했으나 최종 결과에선 뭔가 부족한 코드로 나왔다.
<답안 1 : 다른 ver>
1
2
|
def solution(s):
return s.isdigit() and (len(s) == 4 or len(s) == 6)
|
cs |
▶isdigit() 함수를 통해 문자열을 숫자인지 확인 할 수 있다!
(언제나 느끼지만 내 긴 코드가 한 줄로 정리되는거 보면 신기하다.....)
<문제 2> 프로그래머스) 서울에서 김서방 찾기
1
2
3
4
5
6
7
|
String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요.
seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
<제한 사항>
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
Kim은 반드시 seoul 안에 포함되어 있습니다.
|
cs |
<답안 2>
1
2
3
4
5
6
7
8
|
seoul = ["Jane", "Kim"]
def solution(seoul):
for i in range(len(seoul)):
if seoul[i] == "Kim":
return i
print("김서방은 {}에 있다".format(solution(seoul)))
|
cs |
<답안 2 : 다른 ver>
1
2
3
4
5
6
7
|
seoul = ["Jane", "Kim"]
def solution(seoul):
num = seoul.index("Kim")
return "김서방은 {}에 있다".format(num)
print(solution(seoul))
|
cs |
'Computer Science > 코딩테스트_Python' 카테고리의 다른 글
29일차(2020-12-16) (0) | 2020.12.16 |
---|---|
28일차(2020-12-15) (0) | 2020.12.15 |
26일차(2020-12-11) (0) | 2020.12.11 |
24일차(2020-12-09) (0) | 2020.12.09 |
23일차(2020-12-08) (0) | 2020.12.08 |
Comments