99클럽 코테 스터디 4일차 TIL (미들러): [백준][Java] 24479 알고리즘 수업 - 깊이 우선 탐색 1 - 실버2
·
ProblemSolve/항해99 코테스터디
문제 보기  풀이DFS에 입문하기 위한 문제인 것 같다. 간선을 방문하며 순서를 기록하면 되는 문제이고 어려운 점은 없었다. 주의할 점은1. 오름차순으로 정렬이 되어 있어야 한다는 것2. 간선 정보를 리스트, 배열 중 무엇에 담을지 생각해 봐야 한다는 것정도가 있다. 난 오름차순 정렬을 신경 쓰기 귀찮아서 2차원 배열에 간선 정보를 저장했었는데 메모리 초과가 났다.아무래도 DFS를 재귀로 구현했는데 간선 정보도 boolean 2차원 배열에 담아서 최대 100,000* 100,000*1byte를 잡아먹게 되니... 메모리 초과가 나 버렸다. 사실 최대 간선 수가 최대 정점 수의 두 배 밖에 되지 않으니 당연히 리스트로 보관하는 게 좋긴 하다.  전체 코드import java.io.BufferedReader..
[백준][C++] 14889 스타트와 링크 - 실버1
·
ProblemSolve
문제 보기 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같..
[백준][C++] 10451 순열 사이클 - 실버3
·
ProblemSolve
문제 보기 https://www.acmicpc.net/problem/10451 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net 문제 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 순열의 크기 N (2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 순열이 주어지며, 각 정수는 공백으로 구분되어 있다. 출력 각 테스트 케이스마다, 입력으로 주어진 순열에 존재하는 순열 사이클의 개수를 출력한다. 풀이방법..
[백준][C#] 1987 알파벳 - 골드4
·
ProblemSolve
문제 보기 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 입력 출력 풀이방법 https://mountain-noroo.tistory.com/16 [백준][C#] 15649 N과 M (1) - 실버3 문제 보기 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해..
[백준][C#] 1967 트리의 지름 - 골드4
·
ProblemSolve
문제 보기 https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 문제 입력 출력 시간 제한 메모리 제한 2 초 128 MB 풀이방법 이 문제는 트리 문제로 보이지만 사실 딱히 트리로 풀 필요는 없다. 나는 인접 리스트와 DFS를 통해 정답을 맞추었으며 시간초과가 날까 조금 걱정하였으나... 깔끔하게 성공하였다. 1초짜리 문제였다면 다른 방식으로 풀어야할지도... 골드4문제 답지않게 매우 쉬운 풀이법(그리고 높은 정답 비율)을 가지..
[백준][C#] 15686 치킨 배달 - 골드5
·
ProblemSolve
문제 보기 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는..
[백준][C#] 15649 N과 M (1) - 실버3
·
ProblemSolve
문제 보기 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야..