[BOJ][Python] 31714 지정좌석 배치하기 1

2024. 12. 4. 13:51·🚩 Coding Test/Baekjoon
728x90

Overview

  • 체감 난이도: ★☆☆☆☆
  • 문제 레벨: Silver 4
  • 문제 유형: 그리디, 정렬
  • 풀이 상태: 답안참고 / 스스로 해결
  • 추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 

[문제]

https://www.acmicpc.net/problem/31714

 

 

[코드]

처음 풀이

n, m, d = map(int, input().split())  # 행, 열, 높이 차이


# (앞줄) 좌석 높이 + 키 < (뒷줄) 좌석 높이 + 키
# 주어진 조건에 맞게 모든 학생을 원하는 행의 좌석에 배치할 수 있는지 여부 출력

arr = []
for i in range(n):
    # i+1줄, i행에 앉고자 하는 학생 m명의 키
    height = list(map(int, input().split()))
    for j in range(m):
        height[j] += d * (i + 1)

    height.sort()
    arr.append(height)


def chk():
    for i in range(m):
        for j in range(n - 1):
            if arr[j][i] >= arr[j + 1][i]:
                return False
    return True


if chk():
    print("YES")
else:
    print("NO")

 

간략하게 수정한 코드(리스트 컴프리헨션)

# (앞줄) 좌석 높이 + 키 < (뒷줄) 좌석 높이 + 키
# 주어진 조건에 맞게 모든 학생을 원하는 행의 좌석에 배치할 수 있는지 여부 출력

n, m, d = map(int, input().split())  # 행, 열, 높이 차이


# i+1줄, i행에 앉고자 하는 학생 m명의 키 / 키 + 단차 / 정렬
height = [sorted(h + d * (i + 1)
                 for h in map(int, input().split()))
          for i in range(n)]

chk = all(height[i][j] < height[i+1][j]
          for j in range(m)
          for i in range(n-1))

print("YES" if chk else "NO")

 

 

[배운 점]

python all() 함수

: 인자로 받은 모든 요소가 참(True)이면 참(True)을 반환하고, 하나라도 거짓(False)이면 거짓(False)을 반환한다. 

 

- all 함수는 인자로 반복 가능한 (iterable) 자료형을 받는다. (리스트, 튜플, 딕셔너리 등과 같이 for문에서 사용 가능한 자료형)

- 인자로 받은 요소가 비어있는 경우 True를 반환한다. 

 

🤔 언제 사용할까? 

→ 어떤 리스트에서 특정 조건을 체크해야 할 경우 

 

 

반응형

'🚩 Coding Test > Baekjoon' 카테고리의 다른 글

[BOJ][Python] 4963 섬의 개수  (0) 2024.12.05
[BOJ][Python] 29717 슬라임 잡고 레벨 업!  (0) 2024.12.04
[BOJ][Python] Greedy / 1541 잃어버린 괄호  (0) 2024.11.06
[BOJ][Python] 1149 RGB거리  (0) 2024.11.01
[BOJ][Python] 1904 01 타일  (0) 2024.10.31
'🚩 Coding Test/Baekjoon' 카테고리의 다른 글
  • [BOJ][Python] 4963 섬의 개수
  • [BOJ][Python] 29717 슬라임 잡고 레벨 업!
  • [BOJ][Python] Greedy / 1541 잃어버린 괄호
  • [BOJ][Python] 1149 RGB거리
zo0oz
zo0oz
꾸준함 기르기
  • zo0oz
    우당탕탕굴러가는하루
    zo0oz
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 🏠 Home
    • 📑 Tag
    • Github
    • 분류 전체보기 (295)
      • 📃 취준 회고록 (0)
        • 2024 하반기 (0)
      • 📅 매일매일 CS (2)
      • 🚩 Coding Test (203)
        • Baekjoon (94)
        • Programmers (43)
        • Code Tree (34)
        • SWEA (19)
        • HackerRank (2)
        • SQL (8)
      • 🇱 Languages (4)
        • Python (4)
      • 🇫 Framework (2)
        • fastAPI (2)
      • 🤖 AI (9)
        • LLM (1)
        • Computer Vision (3)
      • 📈 Data-Science (4)
        • Pandas (4)
      • 🛠️ 형상관리 (6)
        • Git (6)
      • 💥 Projects (8)
        • 개인실습 (7)
      • 🇰 Kakaotech Bootcamp (17)
        • 이론 (9)
        • 실습 (5)
      • 🇳 Naver BoostCourse (9)
        • 파이썬으로 시작하는 데이터 사이언스 (6)
      • 🏆 자격증 (25)
        • 정보처리기사 (10)
        • ADsP (1)
        • SQLD (13)
        • OPIc (0)
      • 🔎 etc (1)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
zo0oz
[BOJ][Python] 31714 지정좌석 배치하기 1
상단으로

티스토리툴바