[백준/프루트포스] 7568: 덩치 - 파이썬

2022. 3. 25. 21:50· Problem Solving/CT-Python
목차
  1. 문제
  2. 코드

문제

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

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

www.acmicpc.net

 

문제를 잘못 접근했다.

몸무게가 큰 순서대로 sort로 정렬하고 

0번째 리스트 원소와 1번째 리스트 원소를 비교 1번째 리스트 원소와 2번째 리스트 비교... 반복하여

해당 인덱스에 rank를 추가하였다. 

 

[[88, 186, 1], [60, 175, 2], [58, 183, 2], [55, 185, 2], [46, 155, 5]]

출력을 구하였지만 문제에서 원하는 출력이 아니니까 다음과 같이 다시 리스트를 정렬전으로 만들려고 하였다.

[[55, 185, 2], [58, 183, 2], [88, 186, 1], [60, 175, 2], [46, 155, 5]] 

 

그런데 이런 방식으로 알고리즘을 짜면 처음 정렬할 때, 나중에 리스트를 원래상태로 만들 때 리스트 여러번 탐색해야하므로 딱봐도 비효율적이다. 그래서 정렬하지 않고 해당 인덱스가 리스트 전체를 탐색하고 나보다 큰 원소가 존재하면 카운트를 추가하여 랭크라는 리스트에 저장하였다.

 

코드

n = int(input())
arr = [(list(map(int,input().split(" ")))) for _ in range(n)]
arr_rank = []
for i in range(n):
    count = 0
    for j in range(n):
        if((arr[i][0] < arr[j][0]) and (arr[i][1] < arr[j][1])):
            count+=1
    arr_rank.append(count + 1)

for i in arr_rank:
    print(i, end =' ')

 

절대 이렇게 작성하지 말기를..

더보기
n = int(input())
original_arr = [(list(map(int,input().split(" ")))) for _ in range(n)]
new_arr = original_arr
new_arr.sort(key = lambda x:x[0], reverse=True)
count = 1

new_arr[0].append(1)
if n >=2:
    for i in range(0,n-1):
        if((new_arr[i][0] > new_arr[i+1][0]) and (new_arr[i][1] > new_arr[i+1][1])):
            count = i+2
            new_arr[i+1].append(count)
        else:
            new_arr[i+1].append(count)

'Problem Solving > CT-Python' 카테고리의 다른 글

[백준/구현] 2669: 직사각형 네개의 합집합의 면적 구하기 - 파이썬  (0) 2022.04.22
[백준/프루트포스] 2309: 일곱 난쟁이 - 파이썬  (0) 2022.04.14
[백준/그리디] 1715: 카드 정렬하기 - 파이썬  (0) 2022.03.16
[백준/브루트포스] 4673: 셀프넘버 - 파이썬  (0) 2022.03.16
[백준/그리디] 1026: 보물 - 파이썬  (0) 2022.03.11
  1. 문제
  2. 코드
'Problem Solving/CT-Python' 카테고리의 다른 글
  • [백준/구현] 2669: 직사각형 네개의 합집합의 면적 구하기 - 파이썬
  • [백준/프루트포스] 2309: 일곱 난쟁이 - 파이썬
  • [백준/그리디] 1715: 카드 정렬하기 - 파이썬
  • [백준/브루트포스] 4673: 셀프넘버 - 파이썬
White Han
White Han
Software Developer
White Han
sudo apt-get happiness
White Han
전체
오늘
어제
  • 분류 전체보기 (183)
    • Language (35)
      • Java (17)
      • Java-Weekly-study (0)
      • Python (18)
    • BackEnd (11)
      • Server (2)
      • Spring (3)
      • Spring Security (0)
      • JDBC (1)
      • NodeJS (2)
      • LINUX (3)
    • DataBase (10)
      • MySQL (5)
      • MongoDB (4)
      • Oracle (1)
    • Infra (4)
      • Docker (4)
    • CS (38)
      • OS (38)
    • Problem Solving (79)
      • Algorithm (8)
      • CT-Java (30)
      • CT-Python (41)
    • IDE (1)
      • eclipse (1)
      • vscode (0)
    • Etc. (3)
      • Git (1)
      • TDD, Refactor, CleanCode (1)
      • Conference (1)
    • 기록 (2)
      • 후기 (1)
      • 프로젝트 회고록 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

  • 방문해 주셔서 감사합니다.

인기 글

태그

  • SSAFY
  • 프로세스
  • 자바 super
  • 싸피 후기
  • 운영체제 역할
  • Java Inheritance
  • java
  • 24인치 모니터 추천
  • javascript identifier
  • 운영체제 구조
  • 자바 this
  • 싸피
  • 자바스크립트
  • 자바스크립트 개념
  • 자바스크립트 식별자
  • 프로세서
  • 싸피8기
  • 자바 inheritance
  • AOC 24B1X
  • 알파스캔 AOC 24B1X
  • 운영체제
  • 싸피 합격
  • 사무용 모니터 추천
  • 알파스캔 모니터
  • Java super
  • 자바스크립스 식별자 종류
  • javascript
  • OS
  • Java this
  • 사무용 모니터

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
White Han
[백준/프루트포스] 7568: 덩치 - 파이썬
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.