전체 글(101)
-
[BOJ] 9466. 텀 프로젝트
https://www.acmicpc.net/problem/9466 접근 방법 처음에는 모든 경로에 대해서 파악을 했었는데 중간결과로 시간초과를 했었기에 한가지 생각을 했었다. 즉, 문제를 다시보고 모든 경로에 대해서 마지막은 Cycle을 도는 것을 알게 되었고 코드를 수정하게 되었다. Ex) 1에서 시작하면 1→3→3 ( Cycle ) 2에서 시작하면 2→1→3→3 (Cycle) 초기에는 1 , 2 , 3 을 모두 다 체크해서 {3}이라는 Cycle을 찾았지만 코드를 수정하고 1에서 {3}이라는 Cycle을 찾을 수 있었다. Need Know Recursive 전체 코드 ( Java ) import java.io.*; import java.util.StringTokenizer; class Main{ st..
2020.11.15 -
[PG] 42890. 후보키
https://programmers.co.kr/learn/courses/30/lessons/42890 여담 코딩테스트를 풀어보면서 요즘 느낀 것이 있다.. 문자열 처리하는 것이 대체로 많이 나오는 것 같다. ( 해쉬 등등.. ) 프로그래머스 문제들도 보면 해쉬문제나 문자열 처리 문제가 많으므로 많이 풀어보고 있는 중이다. 접근 방법 먼저 문제의 지문을 잘 파악해야 된다. ( 후보키의 정의 ) 유일성(uniqueness) : 릴레이션에 있는 모든 튜플에 대해 유일하게 식별되어야 한다. 최소성(minimality) : 유일성을 가진 키를 구성하는 속성(Attribute) 중 하나라도 제외하는 경우 유일성이 깨지는 것을 의미한다. 즉, 릴레이션의 모든 튜플을 유일하게 식별하는 데 꼭 필요한 속성들로만 구성되어..
2020.11.03 -
[JAVA] Stream
개요 Java 문법에 대해서 조금 더 공부하려고자 한다.. 이유는 간단하다. 코딩 테스트를 준비하는데 Programmers에 들어가봤더니 코드양이 압도적으로 차 이가 났었다. 물론 내 직관력이 조금 떨어지는 부분은 보완 할 수 있었겠지만 자바의 내장 객체들을 제대로 알고 쓰기 위해 먼저 Stream이라는 객체를 공부하고자 한다. // 프로그래머스의 대단한 분의 코드... ( Programmers/Level2/해쉬/위장 1등 코드) import java.util.*; import static java.util.stream.Collectors.*; class Solution { public int solution(String[][] clothes) { return Arrays.stream(clothes) ...
2020.10.28 -
[Basic] AWS EC2 만들기.
EC2 인스턴스 유형 선택 HardWare : CPU, Memory, Network, Storage SoftWare: OS, Application EC2를 만들어보자. 먼저 AWS 사이트를 들어가서 회원가입/로그인을 해보자. 로그인을 하게 되면 메인 페이지가 뜰 것이다. 메인 페이지에서 좌측 상단에 있는 서비스 버튼을 누르면 토글방식으로 이런식으로 뜨게 될 것이다. 이 많은 서비스들 중에서 우리는 EC2 를 사용 할 것이다. 먼저 AWS를 사용하기 위해 리전 우리나라로 바꾸어 보자. 리전은 자신이 배포하고자 하는 나라에 맞게 바꾸는 것이 좋다. Ex) 나는 한국에 내 웹서비스를 배포해야지! 하면 한국인 것이다. 우측 상단에 2번째 섹션을 서울로 바꾸면 된다. 이제 인스턴스를 생성해 보겠다. 인스턴스를 생..
2020.10.23 -
[PG] 12899. 124 숫자의 나라
https://programmers.co.kr/learn/courses/30/lessons/12899 접근 방법 문제를 자세히 보면 규칙을 찾을 수 있는? 그리고 진법에 대해 안다면 쉽게 풀 수 있는 문제이다. 124나라의 숫자는 오직 [ 1 , 2 , 4 ] 를 통해 숫자를 나타내기 때문에 1 -> 1 | 2 -> 2 | 3 -> 4 | 4 -> 11 | 5 -> 12 | 6 -> 14 | 7 -> 21 여기서 규칙을 찾아보면 n의 숫자를 나눈 나머지를 파악한다. (n%3) if( n % 3 == 0 ) → 4의 숫자로 표현이 된다 . // 0 이라면 n 을 감소해줘야 한다! else → 나머지 숫자로 그대로 표현이 된다. 이제 n을 3으로 나눠준 몫을 가지고 다시 진행을 한다. Need Know n진..
2020.10.20 -
[BOJ] 17141. 연구소 2
https://www.acmicpc.net/problem/17141 접근 방법 전형적인 부르트 포스 방식으로 바이러스가 있을 수도 있는 장소를 기억을 해놓는 배열을 생성한다. static ArrayList canVirus = new ArrayList(); map[i][k] = Integer.parseInt(st.nextToken()); if(map[i][k] == 2){ canVirus.add(new Point(i,k)); map[i][k] = 0; } 그런 후 이 바이러스가 들어 있는 곳에서 문제에서 제시한 M개를 뽑으면 된다. ( 즉 , 바이러스Cm ← 조합의 의미 ) =⇒ 바이러스가 있을 수 있는 곳 중 M개를 순서 상관 없이 뽑기. static void permutation(int n, int r..
2020.10.18