목록분류 전체보기 (241)
곽로그
문제 www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net 풀이 이분그래프가 뭔지 모르겠어서 위키에 있는 설명 보고 풀었다. ko.wikipedia.org/wiki/%EC%9D%B4%EB%B6%84_%EA%B7%B8%EB%9E%98%ED%94%84 이분 그래프 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 2색변 이분 그래프의 예 그래프 이론에서, 이분 그래프(二分graph, 영어: bipartite graph)란 모든 꼭짓점을..
spartacodingclub.kr/online/spring 스파르타코딩클럽 [웹개발의 봄, Spring] 스프링 기초를 누구보다 빠르게! spartacodingclub.kr 수강기간 2021년 03월 22일 ~ 2021년 04월 18일 수강 신청 계기 sm업무만 하다보니 개발을 할 일이 별로 없었다. 스프링을 하긴 해야하는데 시중에 나와있는 책들을 너무 두꺼웠다. 빠르게 스프링에 대해서 한바퀴 돌리고 싶었다. 장점 - 정말 빠르게 스프링을 이용해서 웹개발의 한 사이클을 돌릴 수 있다. - 개념 설명이 쉽고 명쾌해서 이해가 어렵지 않다 - 간단하지만 aws까지 다뤄서 좋았다. - 한 주차 마다 완료해야하는 총 강의 시간이 2시간정도여서 따라가기 어렵지 않다 단점 - 이건 내 잘못일 수도 있는데, 스프링이..
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; class Coin{ int x,y; Coin(int x, int y){ this.x = x; this.y =y; } @Override public String toString() { return "Coin{" + "x=" + x + ", y=" + y + '}'; } } public class Main { static String[][] map; static int N; static..
문제 www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제 www.acmicpc.net 풀이 부등호가 N개 있으면 숫자는 N+1개를 뽑아야 한다. 이때 숫자는 중복을 허락하지 않는 수라고 했으므로 N과 M(1)과 같은 문제다. 중복되지 않는 수 N+1개를 뽑았다면, 입력받은 부등호와 비교를 한다. 비교를 하고 부등호 수열인 경우, int배열에 있는 숫자를 StringBuffer로 변환한 뒤 ArrayList validArray에 add하였다. validArray를 정렬하고 나서 맨 앞에 있는 값이 최소값이..
문제 www.acmicpc.net/problem/15661 15661번: 링크와 스타트 첫째 줄에 N(4 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에 S가 주어진다. 각 줄은 N개의 수로 이루어져 있고, i번 줄의 j번째 수는 Sij 이다. Sii는 항상 0이고, 나머지 Sij는 1보다 크거나 같고, 100 www.acmicpc.net 풀이 스타트와 링크 문제와 달라진 점은 팀을 N/2 N/2로 나누지 않고 각 팀의 수를 다르게 나눠도 된다는 거다. 즉 N=4이라 했을 때 가능한 팀원 수(스타트팀, 링크팀)는 (1,3) (2,2) (3,1)이다. 따라서 이 문제도 스타트팀을 기준으로 생각하면 된다. 스타트팀에 1명을 뽑았다면, 링크팀은 3명이고 그 멤버는 스타트팀이 아닌 사람이다. 코드 imp..
문제 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/2 명을 뽑는다. 이 문제는 N과 M(2) 문제와 같다. 대신 boolean[] isStartTeam 배열을 선언해서, 스타트팀으로 뽑힌 사람의 번호를 true로 한다. 왜냐하면, 스타트 팀을 뽑으면 링크팀은 자동으로 나머지 사람이 되는데, 이때 스타트팀인지 아닌지를 구분하기 위해서이다. 스타트팀인 N/2명을 구했다면, 스타트팀이 아닌 N/2명을 링크팀으로 한다. 그런 다음 이중 for문을 이용해서 ..
문제 www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 풀이 "오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다."라는 조건을 생각해보면, 백준이가 퇴사를 하기 위해서는 백준이의 상담이 N번째 되는 날 안에 끝나야 한다는 말이된다. 상담을 하는 날을 정한다는 행위가 반복된다. 이 때 상담을 하는 날은, 이전 상담 종료일 이후부터 N번째 날이 된다. 다시말해 상담을 하는 날을 정하려면 이전 상담 종료일을 알아야 한다. 따라서 재귀함수의 매개변수로 "이전 상담 종료일"을 넘긴다. 그러면 재귀함수는 "이전 상담 종료일"을 기준으로 N보다 클 때와 작을 때..
1. 문제 www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 2. 이 문제에서 배울 점 - 순서도 그리기! 현재 위치를 청소한다. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. a) 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다. b) 왼쪽 방향에 청소할 공간이 없다면, 그 방향으로 회전하고 2번으로 돌아간다. c) 네 방향 모두 청소가 이미 되어있거나 벽인 경우에..