본문 바로가기

알고리즘

[ 알고리즘 / kotlin ] 백준 7568 덩치

안녕하세요 gyub(귭)입니다 ㅎㅎㅎ

 

이번에 리뷰할 문제는 백준 7568번 덩치 문제 입니다!

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

 

7568번: 덩치

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

www.acmicpc.net

 

이 누추한 곳까지 찾아오셨다는 건 문제는 숙지하고 계신걸로 알고!!!

( 문제에 헷갈릴만한 요소가 없어연 )

리뷰해보겠습니당

 

음 일단 사람들의 몸무게와 키를 비교하여 등수를 매기면 됩니다 우리는 ㅎ

 

그럼 일단 반복문을 통해 비교를 해줘야겠죠??

더 좋은 방법이 있다면 좋겠지만 ㅠ 제가 생각하기엔 브루트포스 ( 완전탐색) 방법밖에 떠오르지 않아요

더 좋은 방법을 알고 계신분은 답글 냄겨~주세열

 

쨋든 본론으로 돌아와서 주요 코드를 보여드리며 설명할게요

val arr = Array<Pair<Int, Int>>(n) { Pair(0, 0) }
    val rank = IntArray(n) { 1 }

for (i in 0 until n) {
        for (j in 0 until n) {
            if (arr[i].first > arr[j].first && arr[i].second > arr[j].second)
                rank[j]++
        }
    }

각 사람들의 몸무게와 키를 비교하기 위해 일단 arr에서 인덱스로 사람을 판별하고 Pair로 각각 몸무게와 키를 표시(?)해줬어요

 

그 다음 이중포문을 통해 비교하며 rank 즉, 등수를 조절했습니다

 

전체 코드는 밑에 깃헙 주소에 있습니다 ㅎㅎ

https://github.com/Songgyubin/Algorithm/blob/master/baekjoon/BOJ_7568.kt


봐주셔서 감사합니다!
질문이나 수정되어야 할 부분이 있다면 댓글로 남겨주세요!

반응형