반응형
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
- 프로그래머스
- 백준 전쟁-전투
- 백준 바이러스
- 지도자동구축 파이썬
- MongoDB
- MySQL완전삭제
- 백준
- 백준알파벳파이썬
- 도커 컨테이너
- 백준 등수매기기
- 파이썬데이터분석라이브러리
- 백준 A->B
- 백준 점프 파이썬
- 백준 예산
- 1987파이썬
- express mongodb
- CRUD
- 백준 평범한배낭
- 피아노체조 파이썬
- 백준 점프
- 금고털이 파이썬
- 파이썬 평범한배낭
- express
- 백준 피아노체조
- 장애물인식프로그램 파이썬
- 소프티어 장애물인식프로그램
- jenkins
- 소프티어 지도자동구축
- 등수매기기 파이썬
- 백준 전쟁 파이썬
Archives
- Today
- Total
바위 뚫는중
[프로그래머스] Lv1. 성격 유형 검사하기 - 문자열 본문
반응형
1️⃣ 성격 유형 검사하기
문제
https://school.programmers.co.kr/learn/courses/30/lessons/118666
💡 아이디어
survey choices result
["AN", "CF", "MJ", "RT", "NA"] | [5, 3, 2, 7, 5] | "TCMA" |
["TR", "RT", "TR"] | [7, 1, 3] | "RCJA" |
4를 기준으로 두고 생각하면 된다
AN 5인 경우는 5-4 = 1, N 에 1점을 부여하면 된다 (4보다 크면 우측꺼, 작으면 오른쪽 꺼다)
CF 3인 경우는 abs(3-4) = 1, C에 1점을 부여하면 된다
즉, 딕셔너리 키 값을 모두 0으로 초기화 해놓고 세팅해 둔후, survey각각의 값에 맞게 value를 더해준다.
📝 풀이
정답 코드
전체 길이에서 2개씩 잘라서 비교하면 편하다고 한다
근데 그냥 이렇게 풀어서 구현하였다!
def solution(survey, choices):
answer = ''
mydict = {'R':0, 'T':0, 'C':0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0}
for i in range(len(survey)):
if choices[i] > 4:
mydict[survey[i][1]] += choices[i]-4
elif choices[i] < 4:
mydict[survey[i][0]] += (choices[i]-4)*(-1)
else:
continue
print(mydict)
if mydict.get('R') >= mydict.get('T'):
answer += 'R'
else:
answer += 'T'
if mydict.get('C') >= mydict.get('F'):
answer += 'C'
else:
answer += 'F'
if mydict.get('J') >= mydict.get('M'):
answer += 'J'
else:
answer += 'M'
if mydict.get('A') >= mydict.get('N'):
answer += 'A'
else:
answer += 'N'
return answer
반응형
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv1. 기능개발 - 스택,큐 (0) | 2023.10.27 |
---|---|
[프로그래머스] Lv1. 모의고사 - 완전탐색 (0) | 2023.10.26 |
[프로그래머스] Lv 1. 추억 점수, Lv1. 대충 만든 자판 - 문자열 딕셔너리, enumerate (0) | 2023.10.26 |
[프로그래머스] Lv0. 한 번만 등장한 문자, Lv0. 최빈값 구하기 - 문자열 Counter, Defaultdict (0) | 2023.10.26 |
[프로그래머스] Lv2. 피로도 - 완전탐색, 순열 (1) | 2023.10.06 |