목록코테 (6)
최코딩의 개발노트
사이트 https://www.acmicpc.net/problem/16929 16929번: Two Dots 첫째 줄에 게임판의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 게임판의 상태가 주어진다. 게임판은 모두 점으로 가득차 있고, 게임판의 상태는 점의 색을 의미한다. 점의 색은 알파벳 대문 www.acmicpc.net 문제 풀이 문제는 간단했다. 똑같은 문자를 기준으로 1개의 순환 구조만 있으면 Yes 아니면 No만 뜨게 하는 문제이다. 필자는 당연히 dfs로 생각해서 풀었다. 맨날 bfs로만 풀어서 익숙치 않았지만 이 문제는 dfs로 해결을 해야될거 같아서 풀어봤다. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)..
컬럼 매핑과 테이블 매핑 @Entity @Table(name="member") public class Member { @Id private Long id; @Column(name = "name") // nullable 널값 유무 // insertable/updateable 등록변경 가능 여부 // columnDefinition 은 컬럼을 직접 정의 ex) varchar(100) default 'empty' private String username; private Integer age; @Enumerated(EnumType.STRING) //String 필수!! private RoleType roleType; @Temporal(TemporalType.TIMESTAMP) private Date create..
사이트 https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 문제 분석 초반에 문제가 이해가 안되었지만 집중해서 읽으니 나름 쉬운 문제 였다. 일단 요점을 파악해야된다. 적어도 N개를 사기 위해!! 적어도!! 이 적어도라는 말이 중요하다. 필자는 N개를 딱 맞춰서 그에 맞는 최소 비용인줄 알았으나 아니었다. 즉 N개 이상이 되도 최소비용이면 된다는 것이다!! 그럼 필자는 어떻게 해결했을까? sett = new int[m + m]; one = ne..
사이트 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 분석 문제를 처음에 잘못 읽어서 재귀함수로 계속 구현하다가 결국 도움을 받았다... 반성하자. 일단 DP는 필자가 굉장히 어려워하는 알고리즘이다. DP는 먼저 점화식을 세우는게 우선이다. 1,2,3만 더해서 만들 수 있는 경우의 수를 구하는 것이다. 1=(1) 2=(1+1, 2) 3=(1+1+1, 1+2, 2+1, 3) 4=(1+1+1+1, 1+2+1, 2+1+1, 1+1+2, 2+2, 3+1, 1+3) 쭉 이렇게 간다. 여기서 자세히 보면 규칙이 나온다. 4는 1,2,3의 경우의 ..
사이트 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 분석 - 필자가 그렇게 풀고 싶었던 문제를 풀었다... 그래프 문제를 하도 많이 풀어서 그래프 틀 알고리즘을 세우는 것은 어렵지 않았고 오히려 재밌었다! - 하지만 벽을 무조건 3개 세우는 알고리즘을 도대체 어떻게 구현을 해야하는지 정말 많은 고민을 해왔다. 전체 경우의 수를 구해서 for 구문을 세울려고 했지만 이거는 너무 노가다일뿐더러 오히려 짜기 복자했고 bfs로 구현할라해도 좀 뭔가 안맞아..