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
- 안드로이드주석
- dynamicProgramming
- 오픽
- 오픽공부법
- 디피
- stack 스택
- 오픽노잼
- fibo
- 오픽가격
- 이진탐색
- 안드로이드
- XML주석
- 피보나치수열
- ㅂ
- 이진탐색 #나무 자르기
- 탑다운
- 다이나믹프로그래밍
- XML
- 영어회화
- dp
- 오픽점수잘받는방법
- 영어말하기
- 바텀업
- 오픽노잼공부방법
- topdown
- English
- 주석
- opic
- 메모이제이션
Archives
RUBY
[프로그래머스] 스킬트리 본문
출처:: programmers.co.kr/learn/courses/30/lessons/49993?language=python3
분류::
1. 문제 이해 및 해결과정
- 스킬트리의 순서대로 끝까지 스킬을 완료하지 않아도 된다. skill=cde tree=bcd 인 경우가 가능하다 |
2. 풀이방법
1. [ python ]
def solution(skill, skill_trees):
cnt=0
for x in skill_trees:
tmp="" #트리 중 skill에 있는 문자만 저장
for i in range(len(x)):
if x[i] in skill: #skill에 있는 문자라면 tmp에 더해줌
tmp+=x[i]
# print(tmp)
flag=True
for i in range(len(tmp)): #tmp길이 만큼
if skill[i]!=tmp[i]: #tmp와 skill의 순서가 같지 않으면
flag=False #스킬트리 아님
if flag==True:
cnt+=1
return cnt
2. [ python ] str.find()함수를 이용한 방법
def solution(skill, skill_trees):
cnt=0
for x in skill_trees:
tmp="" #트리 중 skill에 있는 문자만 저장
for i in range(len(x)):
# if x[i] in skill: #skill에 있는 문자라면 tmp에 더해줌
# tmp+=x[i]
if skill.find(x[i])!=-1: #skill에 없는 문자라면 인덱스 -1을 반환한다
tmp+=x[i]
# print(tmp)
flag=True
for i in range(len(tmp)): #tmp길이 만큼
if skill[i]!=tmp[i]: #tmp와 skill의 순서가 같지 않으면
flag=False #스킬트리 아님
if flag==True:
cnt+=1
return cnt
3. [ python ] list.pop() 을 이용하는 방법
def solution(skill, skill_trees):
cnt=0
for x in skill_trees:
seq=list(skill) #skill을 리스트로
for i in range(len(x)):
if x[i] in skill: #트리의 문자가 skill에 있으면
if seq.pop(0)!=x[i]: #현재 skill순서와 트리의 문자가 같지않으면 순서오류
break
else: #멈추지 않고 수행되었을 경우, 순서가 모두 맞는 것이다.
cnt+=1
return cnt
3. 오답원인
4. 알게된 점
str.find(문자)
- str에 찾고자하는 문자가 있다면 index를 반환한다
- str에 찾고자하는 문자가 없으면 -1을 반환한다.
- str.find(문자, 시작위치)
for-else 문을 잘 활용하자
'PS > Programmers' 카테고리의 다른 글
[프로그래머스] 기능개발 (0) | 2020.10.15 |
---|---|
[프로그래머스] 다리를 지나는 트럭 (0) | 2020.10.15 |
[프로그래머스] 최대공약수와 최소공배수 (0) | 2020.10.14 |
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2020.09.22 |
[프로그래머스] K번째 수 (0) | 2020.09.22 |
Comments