이런 문제들을 반 농담으로 'Implement-this-problem' 이라고 합니다. 아무 생각 할 필요 없이 문제에서
준 조건대로 구현하면 되는 문제들이죠. 가끔은 곧이곧대로 푸는 것보다 더 쉬운 방법이 있기도 합니다만, 대개의 경우에는 문제에
명시된 다양한 조건들을 꼼꼼히 살피고 빼먹지 않고 코딩하는 것이 갈 길입니다. 이 문제의 경우에는 전체 랭크리스트를 출력하는
것이 아니라 마지막 한 팀을 출력하는 문제입니다만, 이 조건을 이용해 전체 선발된 팀을 구하지 않고 넘어가 보려다가는 더 큰
고생을 하기 쉬우니 우직하게 문제에서 요구하는 대로 팀들을 선발해 보겠습니다.
일단 입력으로
주어지는 정보 중 solved 와 penalty 정보는 필요 없다는 것을 알 수 있습니다. 왜냐면 입력은 순위대로 정렬되어
들어온다고 문제에 명시되어 있기 때문이죠. 따라서 각 팀명과 학교 이름만을 저장해 두면 됩니다. 그 후, 한 팀씩 고려해가며
문제의 조건에 적합한가를 판단하면 됩니다. 이 과정에서 유용하게 사용되는 것이 C++ 의 map, Java 의
TreeMap/HashMap, C# 의 Dictionary 등의 연관 자료구조(Associative Container) 입니다.
이들을 이용해 각 학교에 몇 팀의 쿼터가 남아 있는지, 각 학교마다 선발된 팀의 수가 몇인지 등을 쉽게 저장해 둘 수 있습니다. 혹시 이와 같은 표준 라이브러리를 제대로 사용하는 법을 모르신다면 이번 기회에 꼭 익혀두시기 바랍니다! 이들을 잘 사용하는 것은 대회의 성패를 가를 수 있을 정도로 중요합니다. :)
다
음 소스 코드는 이의 비교적 짧은 구현입니다. 물론 제대로 된 구조를 갖춘 것도 아니고 제대로 주석을 붙여둔 것도 아니지만,
가능한한 빠른 시간 내에 맞는 코드를 생산해내야 하는 대회 환경 하에서는 이와 같은 구현이 최상이라고 생각합니다. 물론, 더
좋은 구현이 있을지도 모르니 참고만 하세요~ ^^
(이게 더 쉽겠는걸! 싶으신 분은 소스코드를 저희에게 보내주세요~)
admin
이런 문제들을 반 농담으로 'Implement-this-problem' 이라고 합니다. 아무 생각 할 필요 없이 문제에서
준 조건대로 구현하면 되는 문제들이죠. 가끔은 곧이곧대로 푸는 것보다 더 쉬운 방법이 있기도 합니다만, 대개의 경우에는 문제에
명시된 다양한 조건들을 꼼꼼히 살피고 빼먹지 않고 코딩하는 것이 갈 길입니다. 이 문제의 경우에는 전체 랭크리스트를 출력하는
것이 아니라 마지막 한 팀을 출력하는 문제입니다만, 이 조건을 이용해 전체 선발된 팀을 구하지 않고 넘어가 보려다가는 더 큰
고생을 하기 쉬우니 우직하게 문제에서 요구하는 대로 팀들을 선발해 보겠습니다.
일단 입력으로
주어지는 정보 중 solved 와 penalty 정보는 필요 없다는 것을 알 수 있습니다. 왜냐면 입력은 순위대로 정렬되어
들어온다고 문제에 명시되어 있기 때문이죠. 따라서 각 팀명과 학교 이름만을 저장해 두면 됩니다. 그 후, 한 팀씩 고려해가며
문제의 조건에 적합한가를 판단하면 됩니다. 이 과정에서 유용하게 사용되는 것이 C++ 의 map, Java 의
TreeMap/HashMap, C# 의 Dictionary 등의 연관 자료구조(Associative Container) 입니다.
이들을 이용해 각 학교에 몇 팀의 쿼터가 남아 있는지, 각 학교마다 선발된 팀의 수가 몇인지 등을 쉽게 저장해 둘 수 있습니다. 혹시 이와 같은 표준 라이브러리를 제대로 사용하는 법을 모르신다면 이번 기회에 꼭 익혀두시기 바랍니다! 이들을 잘 사용하는 것은 대회의 성패를 가를 수 있을 정도로 중요합니다. :)
다
음 소스 코드는 이의 비교적 짧은 구현입니다. 물론 제대로 된 구조를 갖춘 것도 아니고 제대로 주석을 붙여둔 것도 아니지만,
가능한한 빠른 시간 내에 맞는 코드를 생산해내야 하는 대회 환경 하에서는 이와 같은 구현이 최상이라고 생각합니다. 물론, 더
좋은 구현이 있을지도 모르니 참고만 하세요~ ^^
(이게 더 쉽겠는걸! 싶으신 분은 소스코드를 저희에게 보내주세요~)
[spoiler="더 보기..."]#include
#include
#include
#include
17년 전