Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 파이썬
- 반응형
- error
- MongoDB
- 프론트엔드
- 무료강의
- 스파르타코딩클럽
- 22938번
- 스파르타
- 장고 다중이미지
- 장고이미지처리
- django multi image
- 프로그래머스입문
- jquery
- 프로그래머스
- ㅐㄱ이
- React
- 파이썬무료강의
- 20492번
- python
- 개인정보수집유효기간
- css
- 참가후기
- sql
- GIT
- useState
- SEF2022
- html
- 코딩기초트레이닝
- 네이버커넥트재단
Archives
- Today
- Total
코딩,해볼까
07.17 - 18. 프로그래머스 : 배열 두 배 만들기, 배열 뒤집기, 문자열 뒤집기, 가위 바위 보 본문
문제링크
배열 두 배 만들기
배열 뒤집기
문자열 뒤집기
가위 바위 보
< 배열 뒤집기, 문자열 뒤집기 >
1. 나의 풀이
def solution(num_list):
return num_list [::-1]
리스트 슬라이싱. iterable 을 슬라이스 하는 방법 중 시퀀스 [ 시작:중지:단계 ] (시작 값 : 끝 값 : 배수) 와 같은 방법으로 사용할 수 있는데, ::-1 은 -1 (음수) 이 있기 때문에 맨 끝부터 순서대로 나열하라는 뜻이 된다.
배열 뒤집기와 문자 뒤집기 모두 이 풀이로 해결할 수 있다.
def solution(my_string):
answer = ''
my_list = list(my_string)
my_list.reverse()
answer = ''.join(my_list)
return answer
reverse를 사용해서도 풀어봤다.
2. 다른 사람의 풀이
def solution(num_list):
result =[]
while(num_list):
result.append(num_list.pop())
return result
pop 함수를 사용해보고 싶었는데, 풀이가 있었다.
pop()은 리스트의 맨 마지막 요소를 리턴하고 그 요소는 삭제한다. 그러므로 pop해서 새로운 배열에 append해주는 풀이방법이다.
< 가위 바위 보 >
1. 나의 풀이
def solution(rsp):
answer = ''
for i in rsp:
if i == '2':
answer = answer + '0'
elif i == '0':
answer = answer + '5'
elif i == '5':
answer = answer + '2'
return answer
2는 0, 0은 5, 5는 2로 짝이 정해져 있는 이 문제. 딕셔너리를 이용하면 더 간단하게 풀 수 있을 것 같았다.
2. 팀원과의 풀이
def solution(rsp):
answer = ''
dic = {'2':'0', '0':'5', '5':'2'}
# rsp == dic key값
for i in rsp:
answer += dic[i] #value
return answer
함수로 들어오는 rsp값으로 딕셔너리에 있는 key 값을 부르면 결과적으로 value 값이 도출되기 떄문에 아주 간편하게 풀 수 있는 방법이었다.
3. 다른사람의 풀이
def solution(rsp):
d = {'0':'5','2':'0','5':'2'}
return ''.join(d[i] for i in rsp)
우리의 두 번쨰 풀이방법과 아주 동일하지만 return에서 for문을 더욱 간결하게 표현하였다.
def solution(rsp):
rsp =rsp.replace('2','s')
rsp =rsp.replace('5','p')
rsp =rsp.replace('0','r')
rsp =rsp.replace('r','5')
rsp =rsp.replace('s','0')
rsp =rsp.replace('p','2')
return rsp
for문을 쓰지 않는 너무 기상천외한 방법이다. 숫자가 겹치기 때문에 숫자 > 문자 > 숫자 로 replace를 진행했다. 너무 빠르고 완벽한 풀이. 나도 이런 풀이를 적어보고 싶다.
'Back > TIL' 카테고리의 다른 글
07.20. 프로그래머스 : 대문자와 소문자, 인덱스 바꾸기, 배열의 유사도 (0) | 2023.07.21 |
---|---|
07.19. 프로그래머스 : 점의 위치 구하기, 최댓값 만들기(1), 문자열 정렬하기(1), 중복된 문자 제거 (0) | 2023.07.19 |
07.16. 프로그래머스 : 몫 구하기, 최빈값 구하기 (0) | 2023.07.16 |
07.15. 프로그래머스 : 2의 영역 (0) | 2023.07.15 |
07.14. 프로그래머스 : 그림 확대 (0) | 2023.07.15 |
Comments