나 개발자 진짜 되냐?

백준 C++ 7568번 덩치 ( 브루트포스, vector<pair> ) 본문

C++을 시작해봐요!/구현문제를 풀어봤어요!

백준 C++ 7568번 덩치 ( 브루트포스, vector<pair> )

Snow Rabbit 2026. 1. 5. 23:12

 

1월 첫째 주군요!
저는 이제 주말에 문제를 풀지 않기로 결심했습니다.
아르바이트하면서 문제 푸는 게 힘들기 때문이죠

한 달 동안 열심히 풀었는데

뿌듯함 반,, 아쉬움?! 반..ㅋㅋ

힘들었습니다 여하튼..ㅎㅎㅋ

 


오늘도 문제를 풀어볼까요!

 


 

이 문제에는 제한이 있다.

 

 

 

등수..라는 게 참 나에게 어렵게 다가왔다.

공동 2등이 많으면 그다음에 어떻게 다음 등수를 표시하지..? 가 의문이었다.

 

지 선생에게 물어볼 때 조건을 두 가지 알려주었다.

 

1. vector pair로 키, 몸무게 저장

2. 인원수가 별로 없으니.. 이중 for문으로 하나씩 비교하기.

 

일단 큰 틀을 만들었다.

 

 

 

첫 번째 for문에는 벡터에게 값을 넣어줘야 하고

이중포문 안에는 계산식을 넣어주어야 한다.

 

지피티의 생각은 이랬다.

일단 등수를 1로 시작하고

i를 기준으로

j가 만약에 더 크다면

i의 등수를 하나 올린다. i는 즉 2 등인셈

 

나보다 더 키도 크고 몸무게도 크면 2등이 되는 것.

그러니 조건을 && 로 해서

2번째 3번째 4번째 친구들을 비교해 주어야 한다.

나는 항상 이중포문을 풀 때 구구단을 떠올린다.

구구단도 2부터 해서 123456.. 이렇게 계산하듯

 

얘도 그렇게 생각해서

i번째의 등수를 매겨주는 것이다.

 

그래서!!

 

이렇게 해주면

식이 완성된다.

 

나는 이렇게 해주면 뭔가 등수에 따로 뭘 해줘야 하는 거 아닐까? 했다.

순위가 잘 매겨지려나? 걱정했는데

나보다 큰 사람이 몇 명인지 카운트하는 거다 보니

문제가 없었다.

 

 

역발상인 셈...

ㅋㅋㅋㅋㅋㅋ

 

알고리즘에 브루트포스라고 적혀있었는데

정말 이중포문으로 일일이 체크하는 문제였다.

 

브루트포스 : 가능한 모든 경우를 전부 시도해서 정답을 찾는 방식


 

쉬운 듯 어려웠다.

지피티에게 질문하다 보니

문제는 금방 접근이 되긴 하는데...

다시 풀려니 또 머리가 아프다..

ㅋㅋㅋㅋㅋㅋㅋㅋ

또 한 시간 와서 풀어보니 

v. pushback()에서 first second에 {} 이거 넣어줘야 하는 것도 까먹고..ㅋㅋ

v [i] 이것도 까먹고

. first 하고 괄호 빼는 것도 까먹었다.

 

벡터가 더 어려운 거일지도..?

 

하하 바보!

 

아무렴! 문제를 끝냈는걸 !!