프로그래머스 Lv.1 모의고사, 완주하지 못한 선수

2023. 8. 14. 15:22·코딩테스트/programmers (python)

코딩테스트 연습 - 모의고사 | 프로그래머스 스쿨 (programmers.co.kr)

문제 설명

 

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.
1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세요.

 

 

제한사항

 

 

입출력 예

answer return
[1,2,3,4,5] [1]
[1,3,2,4,2] [1,2,3]

 

내 풀이

def solution(answers):
    list1=[1,2,3,4,5]
    list2=[2,1,2,3,2,4,2,5]
    list3=[3,3,1,1,2,2,4,4,5,5]
    num_list=[0,0,0]
    result=[]
    
    for num in range(len(answers)):
        if answers[num]==list1[num]:
            num_list[0]+=1
        if answers[num]==list2[num]:
            num_list[1]+=1
        if answers[num]==list3[num]:
            num_list[2]+=1
            
    for i in range(3):
        if num_list[i]==max(num_list):
            result.append(i+1)
        
            
    return result

 

 

풀이

def solution(answers):
    
    student1 = [1,2,3,4,5]
    student2 = [2,1,2,3,2,4,2,5]
    student3 = [3,3,1,1,2,2,4,4,5,5]
    score = [0,0,0]
    answer = []
    
    for i in range(len(answers)) :
        if answers[i] == student1[i%5] :
            score[0] += 1
        if answers[i] == student2[i%8] :
            score[1] += 1
        if answers[i] == student3[i%10] :
            score[2] += 1
        
    for idx, num in enumerate(score) :
        if num == max(score) :
            answer.append(idx +1)
    
    return answer

★ enumerate: for를 이용한 시퀀스의 인덱스를 반복할 때 사용


코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 스쿨 (programmers.co.kr)

문제 설명

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를
완성해보세요.

 

제한사항

 

 

입출력 예

 

 

내 풀이

def solution(participant, completion):
    result=participant
    for i in range(len(participant)):
        if participant[i] in completion:
            result.remove(participant[i])
            
    return(result)

 

 

풀이

def solution(participant, completion):
	# 리스트를 이름 순으로 정렬
    participant.sort()
    completion.sort()
    for i in range(len(completion)):
         # 순서가 맞지않으면 완주하지 못한 선수
        if participant[i] != completion[i]:
            return participant[i]
    # 위에서 순서가 다 맞았다면 마지막 선수가 완주하지 못한 선수        
    return participant[-1]

 

'코딩테스트 > programmers (python)' 카테고리의 다른 글

프로그래머스 Lv.2 올바른 괄호, ★숫자의 표현  (0) 2023.08.17
프로그래머스 Lv.2 최댓값과 최솟값, 문자열 만들기  (0) 2023.08.16
python/ Lv.1 정수 제곱근 판별, 자연수 뒤집어 배열  (0) 2023.03.08
python/ Lv.1 모의고사, 정수 사이의 합, 서울에서 김서방 찾기  (0) 2023.02.23
python/ Lv.1 약수의 개수와 덧셈, 이상한 문자 만들기, 나누어 떨어지는 숫자 배열, 실패율  (0) 2023.02.09
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • 프로그래머스 Lv.2 올바른 괄호, ★숫자의 표현
  • 프로그래머스 Lv.2 최댓값과 최솟값, 문자열 만들기
  • python/ Lv.1 정수 제곱근 판별, 자연수 뒤집어 배열
  • python/ Lv.1 모의고사, 정수 사이의 합, 서울에서 김서방 찾기
seulll
seulll
개인 공부 / 정리 블로그입니다
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (338) N
      • 코딩테스트 (230) N
        • programmers (python) (156)
        • 백준 (python) (72) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (43)
        • Python (4)
        • Java | Spring (7)
        • Android (5)
        • Unity (3)
        • API (4)
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    asterisk
    모델 성능 평가
    백엔드 개발자 역량
    백엔드
    Greedy
    웹크롤링
    바다코끼리
    solving environment
    2 x n 타일링
    야근 지수
    카카오맵 api
    Boxplot
    train_test_split
    프렌즈4블록
    코딩테스트
    카카오맵
    kakao map api
    파이썬
    대입 표현식
    데이터분석
    오블완
    confusion matrix
    티스토리챌린지
    백엔드 개발자
    API
    오차행렬
    박스플롯
    프로그래머스
    Python
    그리디 알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
프로그래머스 Lv.1 모의고사, 완주하지 못한 선수
상단으로

티스토리툴바