일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 2018 카카오
- bfs
- gcp
- 자바
- 2018 KAKAO BLIND RECRUITMENT
- 카카오 공채
- 젠킨스
- 2018 카카오 공채
- 알고리즘
- CS 스터디
- 삼성 SW 기출문제
- Baekjoon
- 2019 KAKAO BLIND RECRUITMENT
- 2019 카카오 공채
- gradle
- Java
- dfs
- c++
- set
- 2018 KAKAO BLIND RECRUITMENT 1차
- map
- 삼성 SW 역량테스트
- 프로그래머스
- 2020 카카오 공채
- 비트마스크
- 카카오
- 백준
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 2020 KAKAO BLIND RECRUITMENT
- 부스트코스
- Today
- Total
목록전체 글 (115)
아무코딩
문제 가로와 세로의 길이가 같은 평지에서 벌목을 한다. 그 지형은 0과 1로 나타나 있다. 1은 아직 잘려지지 않은 나무를 나타내고 0은 아무 것도 없음을 나타낸다. 다음 지형을 보자. B 0 0 1 1 B 0 0 0 0 B 0 0 0 0 1 1 0 0 0 E E E 0 0 위의 지형에서 길이 3인 통나무 BBB를 밀거나 회전시켜 EEE의 위치로 옮기는 작업을 하는 문제를 생각해 보자. BBB와 EEE의 위치는 임의로 주어진다. 단 문제에서 통나무의 길이는 항상 3이며 B의 개수와 E의 개수는 같다. 통나무를 움직이는 방법은 아래와 같이 상하좌우(Up, Down, Left, Right)와 회전(Turn)이 있다. 코드 의미 U 통나무를 위로 한 칸 옮긴다. D 통나무를 아래로 한 칸 옮긴다. L 통나무를..
문제 갑자기 맥북이 상근이의 손에서 떨어졌고, 화면이 켜지지 않았다. AS센터에 문의해보니 수리비가 97만원이 나왔고, 상근이는 큰 혼란에 빠졌다. 돈도 중요하지만, 상근이는 그 속에 들어있는 파일이 걱정되기 시작했다. 다행히 상근이는 저장되어 있는 중요한 디렉토리의 전체 경로를 텍스트 파일로 따로 저장하고 있었다. 예를 들면, WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86. 상근이의 중요한 디렉토리의 전체 경로가 모두 주어졌을 때, 디렉토리 구조를 구해 보기 좋게 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 중요한 디렉토리 전체 경로의 개수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개 줄에는 디렉토리 경로가 주어진다. 경로는 한 줄로 이루어져 있으며, 공백을 포함하지 않는다...
Stream 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 JAVA8에서의 변경 사항 람다표현식(lambda expression) : 함수형 프로그래밍 스트림 API(Stream API) : 데이터의 추상화 Java.time 패키지 : Joda-Time을 이용한 새로운 날짜와 시간 API 나즈혼(Nashorn) : 자바스크립트의 새로운 엔진. 이중 스트림 API 에 대해 자세히 다루어 보겠습니다. Stream API Stream API 이전 자바에서 많은 양의 데이터를 저장하기 위해서는 배열이나 컬렉션을 사용. 이러한 데이터를 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 코드를 작성. 이러한 코드들은 길고 가독성이 떨어지고 코드의 재사용이 불가능. Stream API..
문제풀이 set 을 이용 하는 데 많은 공부가 되었던 문제이다. 원래 4차원 배열을 이용하여 저장해도 됐지만 set을 사용하고 싶어 사용하다가 자연스레 하나 배워간 문제이다. 먼저, set을 사용할때 key가 객체일경우 객체안의 값이아니라 객체자체를 비교하게 된다 그래서 같은객체가 아니라면 값이 같아도 다르게 판단한다. 그래서 hashcode를 오버라이딩하여 수정 할 필요가있다. 객체안의 값이 같은경우 같은 해시코드를 반환하게 해주면 객체 값을 가지고 비교할 수 있다. 그리고 문제풀 때 주의할점이 방향성이 없는 선이라서 나같은 경우에는 양방향으로 set에 다추가해준 뒤 /2 를 통해 길의 개수를 판단해 주었다. 소스코드 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..
문제풀이 자바의 map사용법을 익히기 위해 풀어본 문제이다. map으로 푸는게 맞는지는 모르지만 나는 map을 사용하였다. 현재 스킬의 사용 가능 여부 -> map을 이용. 매번 map을 초기화 하여 스킬트리가 가능한지 체크한다. 그리고 매번 검사시 그다음 찍어야될 스킬을 따로 검사하여 해당 스킬이 나올시 map을 변경후 다음 스킬로 포인터를 옮긴다. 소스코드 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 import java.util...
문제풀이 불이 켜진곳만 갈수 있고 불을 켜는 곳은 다른방이다. 그래서 갔던 곳도 다시 가보면 갈 수 있는 곳이 늘었을 수도 있다. 그래서 bfs를 반복해서 돌려야된다. 언제까지 돌려야되냐면 count가 증가하지 않을 때 까지 돌려야 된다. 불을 켜는 정보는 2차원으로 이루어진 vector로 구현된 adjacencyList 에 저장한다. 소스코드 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70..
문제풀이 dp를 이용해서 푸는 문제이다. 문제가 어려워서 다른 풀이를 참고하였다 이전 객차까지의 최댓값(dp[i][j-1])과 현재 객차를 포함했을 때의 최댓값(sum[j] - sum[j-maxLength]) + dp[i-1][j-maxLength]) 중 큰 값이 현재.i번째 기관차가 1~j객실중 끌 수 있는 승객의 최댓값이 된다. 소스코드 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; impo..
문제풀이 dfs를 사용하며 최대한 갈수 있는 칸수를 계속 비교하여 업데이트 해준다. 소스코드 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Baekjoon1987 { static final int COUNT_OF_ALPHA..