https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 계수 정렬(Count Sort)를 이용하자 인용 횟수가 동일한 논문이 있을 것이다. 따라서 인용 횟수가 인덱스고, 그 수만큼 인용된 논문의 개수를 값으로 하는 리스트를 활용하도록 하자. 위 리스트를 뒤에서부터 접근함으로써 높은 논문 인용 횟수에서 그 횟수를 하나씩하나씩 줄여나가자. 만약 현재 인용 횟수보다 논문의 개수가 적다면 인용 횟수를 하나 더 줄이고, 논문 개수보다 많거나 같..
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 1. 접근 방식 문제를 읽으면서 필요한 함수를 미리 주석으로 기록해놓자 구현 문제이다. 지문이 길기 때문에 문제를 읽으면서 이전 내용이 휘발될 수 있다. 따라서 먼저 주석으로 어떤 역할을 하는 함수가 필요한지 작성해 놓았다. 나중에 문제를 풀 때 길을 잃지 않는 데 도움이 됐다. 또한 지문을 읽으며 필요한 함수들을 미리 정의했기 때문에 이후 구현은 간단하다. 문제를 이해하는 게 관건인 문제..
https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 1. 접근 방식 딕셔너리를 적극 사용하자 학생이 좋아하는 학생들을 담는 survey 딕셔너리, (딕셔너리는 순서가 없으므로) 학생이 입력된 순서를 저장하는 order 딕셔너리, 학생이 앉은 최종 자리를 담는 decided 딕셔너리를 만들었다. 첫 번째 조건: 학생이 좋아하는 학생들과 인접한 칸을 찾는다. 좋아하는 학생이 앉은 위치를 찾을 때 '학생이 앉은 최종 자리를 담는 decided..
https://www.acmicpc.net/problem/4195 4195번: 친구 네트워크 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫째 줄에는 친구 관계의 수 F가 주어지며, 이 값은 100,000을 넘지 않는다. 다음 F개의 줄에는 친구 관계가 생긴 순서대로 주어진 www.acmicpc.net 1. 접근 방식 parents는 리스트 대신 딕셔너리를 사용하자. 일반적인 union-find 방식은 리스트의 인덱스를 통해 부모를 탐색하는 작업을 진행했지만, 이 문제에선 인덱스로 부모를 표현할 수 없다. 따라서 딕셔너리 자료형을 사용하여 a의 부모가 누구인지 표현하자. 이때 부모란, a가 속한 네트워크의 대장이라고 생각하면 된다. 어떤 네트워크에 속한 인원 수를 구하기 위해 딕셔너리..