목록분류 전체보기 (591)
어흥
문제 링크: programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 1. 주의할 점 - 불량사용자와 매칭된 사용자는 탐색할 수 없어야 한다 - 예제 2번과 같이 순서가 같지만 사용자는 같으므로 순열이 아닌 조합이다 2. 구현 - 불량사용자와 매칭된 사용자들이 오름차순으로 정렬하여 Set에 저장하여 조합의 수를 구하도록 한다 - DFS(idx)를 통하여 idx번째 불량사용자와 매칭되는 i번째 사용자를 구한다 - 사용자와 매칭되려면,..
문제 링크: www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 1. 주의할 점 - 한 학생이 자신의 순서를 정확히 아는 경우: 앞에서 몇번째인지 + 뒤에서 몇번째인지 2. 구현 - 모든 순서에 대한 정보를 V[] 벡터에 담는다. 이때, 앞에 나온 수 V[A]에 뒤에 나온 수 B를 추가한다 - 모든 학생들에 대해서 단방향 BFS를 수행하며 해당 학생이 몇명의 다른 학생에게 도달이 가능한지(자기보다 큰 사람)를 canReach[]++를 통해 저장하며, 도달당한 학생..
문제 링크: programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 1. 주의할 점 - 각 원소를 모두 숫자로 끊는다. 이때, 2자리수 이상을 어떻게 처리해야 하는지 생각한다 2. 구현 - 문자열 S에서 문자 1개씩 읽는다. 이때, 숫자형태인 문자라면 str에 더한다. 아닌 경우, str을 int로 바꾼 이후, 0이 아니라면(""->0으로 치환된다. 또한, 자연수라고 했으므로 0..
문제 링크: programmers.co.kr/learn/courses/30/lessons/64063 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr 1. 주의할 점 - 범위가 1~10^12를 어떻게 처리할 것인가 → 배열 시도시 컴파일 에러 - Room_Number 벡터로 1이 20만개 들어온다고 할때, 하나하나 다음칸을 확인한다 → O(N^2): TLE 2. 구현 - 해당 방이 배정되었다면, 다음 방을 가리키도록 한다 → '유니온 파인드' 처럼 생각한다 → O(NlgN) Ex. 순서대로 2,2,3이 들어오고 추가로 2가 들어온다면, 2,2,3은 모두 다음으로 비어있는 칸인 5를 가리키도록 하여 2가 5에 할당되도록 한다 - Map을 이용하여 10^12도 처리할 수 있도록 한다. Map..
문제 링크: www.acmicpc.net/problem/2688 2688번: 줄어들지 않아 첫째 줄에 테스트 케이스의 개수 T(1
문제 링크: www.acmicpc.net/problem/16437 16437번: 양 구출 작전 2, 3, 5번에 사는 모든 양들은 1번 섬으로 갈 수 있지만 7번 섬에 사는 양들은 1번 섬으로 가기 위하여 6번 섬을 거쳐야 하는데 6번 섬에 사는 늑대들의 수가 7번 섬에 사는 양들의 수보다 많으므로 www.acmicpc.net 1. 주의할 점 - 모든 섬에 양이 최대치로 존재 -> 합해지는 과정에서 Int의 범위를 벗어날 수 있다 2. 구현 - 위상정렬의 풀이법으로 접근했다 - Info 구조체를 통해 해당 지점을 도착지점으로 설정한 섬의 수(Conn), 다음 섬으로 연결된 곳(To), 생물의 수(Val)를 나타낸다 - 섬에 늑대가 존재하면, 생물의 개수를 음수로 저장한다. - Info의 성격에 맞게 Ar..
문제 링크: www.hackerrank.com/challenges/game-of-thrones/problem?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=7-day-campaign Game of Thrones - I | HackerRank Check whether any anagram of a string can be a palindrome or not. www.hackerrank.com 1. 주의할 점 - 팰린드롬을 직접 만들려고 하지 않는다 2. 구현 - 파라미터로 넘겨받은 S에 포함된 문자들의 수를 Alpha[] 배열에 갱신한다 - Alpha[] 배열의 값이 홀수인 경우, 팰린드롬을 생성할 때 무조건 가운데에 위치해야 하므로 ..
문제 링크: www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 1) 주의할 점 - 브루트포스 -> 2^1000 -> TLE발생 - DP -> 방법이 떠오르지 않는다 2) 구현 - 도저히 방법이 떠오르지 않아 질문게시판에서 힌트를 얻어서 해결했다 - 우선 Result = 1로 설정을 한다(양의 정수 중 가장 낮은 값이므로). 이때, Result는 지금까지 원소들의 합 + 1이라고 생각하면 된다 - 입력받은 모든 수를 Arr[]배열에 저장한 후, 오름차순으로 정렬한다 - 0..