Programmers / 체육복 / Python

2022. 3. 29. 18:39·coding test - python/Programmers
728x90
반응형

*문제 출처는 프로그래머스에 있습니다.

문제 제목: 체육복

문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/42862


풀이

def solution(n, lost, reserve):
    new_lost = list(set(lost) - set(reserve))
    new_reserve = list(set(reserve) - set(lost))
    lost, reserve = new_lost, new_reserve
    for i in lost:
        if i-1 in reserve:
            reserve.remove(i-1)
        elif i+1 in reserve:
            reserve.remove(i+1)
        else:
            n -= 1
    return n

set함수를 이용하여 중복을 제거하여주었다. 

set함수는 중복을 허용하지 않기 때문에 값들을 필터하는데 쓰이기도 하며 집합을 구할 때 많이 사용된다.
 

(set함수 사용법 : https://justmakeyourself.tistory.com/entry/python-set)

 

모범답안

def solution(n, lost, reserve):
    _reserve = [r for r in reserve if r not in lost]
    _lost = [l for l in lost if l not in reserve]
    for r in _reserve:
        f = r - 1
        b = r + 1
        if f in _lost:
            _lost.remove(f)
        elif b in _lost:
            _lost.remove(b)
    return n - len(_lost)

※ 알아야 할 것

- 중복값제거가 필요하다. 첫번째 풀이에서는 set함수로 reserve와 lost 사이의 중복을 제거해주었다.

- 두번째 풀이에서는 for 문과 if 문을 이용하여 중복값을 제거해주었다.

 

728x90
반응형

'coding test - python > Programmers' 카테고리의 다른 글

Programmers / 핸드폰 번호 가리기 / Python  (0) 2022.03.29
Programmers / 직사각형 별찍기 / Python  (0) 2022.03.29
Programmers / x만큼 간격이 있는 n개의 숫자 / Python  (0) 2022.03.29
Programmers / 평균구하기 / Python  (0) 2022.03.10
Programmers / 수박수박수박수박수박수? / Python  (0) 2022.03.10
'coding test - python/Programmers' 카테고리의 다른 글
  • Programmers / 직사각형 별찍기 / Python
  • Programmers / x만큼 간격이 있는 n개의 숫자 / Python
  • Programmers / 평균구하기 / Python
  • Programmers / 수박수박수박수박수박수? / Python
sillon
sillon
꾸준해지려고 합니다..
    반응형
  • sillon
    sillon coding
    sillon
  • 전체
    오늘
    어제
    • menu (614)
      • notice (2)
      • python (68)
        • 자료구조 & 알고리즘 (23)
        • 라이브러리 (19)
        • 기초 (8)
        • 자동화 (14)
        • 보안 (1)
      • coding test - python (301)
        • Programmers (166)
        • 백준 (76)
        • Code Tree (22)
        • 기본기 문제 (37)
      • coding test - C++ (5)
        • Programmers (4)
        • 백준 (1)
        • 기본기문제 (0)
      • 공부정리 (5)
        • 신호처리 시스템 (0)
        • Deep learnig & Machine lear.. (41)
        • Data Science (18)
        • Computer Vision (17)
        • NLP (40)
        • Dacon (2)
        • 모두를 위한 딥러닝 (강의 정리) (4)
        • 모두의 딥러닝 (교재 정리) (9)
        • 통계 (2)
      • HCI (23)
        • Haptics (7)
        • Graphics (11)
        • Arduino (4)
      • Project (21)
        • Web Project (1)
        • App Project (1)
        • Paper Project (1)
        • 캡스톤디자인2 (17)
        • etc (1)
      • OS (10)
        • Ubuntu (9)
        • Rasberry pi (1)
      • App & Web (9)
        • Android (7)
        • javascript (2)
      • C++ (5)
        • 기초 (5)
      • Cloud & SERVER (8)
        • Git (2)
        • Docker (1)
        • DB (4)
      • Paper (7)
        • NLP Paper review (6)
      • 데이터 분석 (0)
        • GIS (0)
      • daily (2)
        • 대학원 준비 (0)
      • 영어공부 (6)
        • job interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    programmers
    백준
    Python
    소수
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sillon
Programmers / 체육복 / Python
상단으로

티스토리툴바