본문 바로가기
코딩테스트

[Python] 백준 - 덩치

by 박매트 2024. 5. 14.

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

 

나의 답

N = int(input())

result = []

r = []

for i in range(0,N):
    n  = list(map(int,input().split()))
    result.append(n)

    
for index, value in enumerate(result):

    cnt = 0
    
    for i, v in enumerate(result):
        if i==index: # 본인 제외
            continue
        if value[0] < v[0] and value[1] < v[1]: # 카운트
            cnt+=1
    r.append(cnt+1)

for i in r:
    print(i,end=" ")

 

값 입력  리스트로 받아두고, 

값마다 본인 제외하고 다른 사람들과 비교해서 본인보다 큰 덩치가 있을 경우 카운트해준다.

카운트를 리스트에 담아서 출력하면 끝 ! 

 

다른 사람 답

num_student = int(input())
student_list = []

for _ in range(num_student):
    weight, height = map(int, input().split())
    student_list.append((weight, height))

for i in student_list:
    rank = 1
    for j in student_list:
        if i[0] < j[0] and i[1] < j[1]:
                rank += 1
    print(rank, end = " ")

 

비슷하군... 리스트에 담을 필요도 없구나....................?

 

 

Kotlin 버전

fun main() {
    val N = readLine()!!.toInt()

    val result = mutableListOf<List<Int>>()

    val r = mutableListOf<Int>()

    for (i in 0 until N) {
        val n = readLine()!!.split(" ").map { it.toInt() }
        result.add(n)
    }

    for ((index, value) in result.withIndex()) {
        var cnt = 0

        for ((i, v) in result.withIndex()) {
            if (i == index) { // 본인 제외
                continue
            }
            if (value[0] < v[0] && value[1] < v[1]) { // 카운트
                cnt++
            }
        }
        r.add(cnt + 1)
    }

    for (i in r) {
        print("$i ")
    }
}

 

mutableListOf<데이터형> 메모..

readLine()!!.toInt()

readLine()!!.split(" ").map { it.toInt() }  메모...

리스트.map { it <- 하나요소에 접근 }

 

리스트에 값 추가할 때, 리스트.add(추가할 값)

 

 

for ( (i,v) in result.withIndex){

인덱스랑 같이 불러오기. 리스트.withIndex ..

 

'코딩테스트' 카테고리의 다른 글

[Python] 백준 - 연구소  (0) 2024.05.18
[Python] 백준 - 영단어 암기는 괴로워  (0) 2024.05.16
[Python] 백준 - 퇴사  (0) 2024.05.13
[Python] 백준 - 한수  (0) 2024.05.13
[Python] 백준 - 블랙잭  (0) 2024.05.13