
문제보러가기 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 이문제는... 어려웠다. 문제 자체는 이해하기에 어렵지 않았지만 단순 시물레이션이라기엔 배열에 대한 인덱스 지식과 더불어 깊은 복사 얕은 복사에 대한 지식을 갖고 있어야 가능한 문제였다고 생각한다. 이문제를 풀면서,, 2차원 배열에 대해 다시 한번 생각하게 되었다. 패딩 시킨다면 얼마큼...? 어디까지 가야 하지..? 인덱스 몇까지..? 뭐 이런 고민들을 하면서 많이 접해보고 다양한 시각으로 여러 문제들을 풀어봐야겠다고 생각했다!! 문제풀이 -문제의 핵심은 key, lock을 패딩 시키는 것이다. ..
문제보러가기 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 이문제는 시뮬레이션과 dfs를 합쳐서 구현을 하였다. 문제 자체는 심플한데 구현하기는 꽤 까다로운 문제였던 것 같다. 문제풀이 -주어진 배열에서 CCTV일 경우 해당 인덱스와 CCTV번호를 Camera객체로 만들어서 list에 저장한다. -list에 담긴 Camera객체를 하나씩 확인하며 가능한 방향에 대한 모든 map상태를 체크한다. -가능한 방향이라면 monitor함수를 통해 map상태를 갱신하며 list에 담긴 다음 Camera객체..

문제보러가기 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 이문제는 DP의 개념과 배열로 삼각형을 접근하는 방법만 알면 어렵지않게 풀 수 있는 문제였던것 같다. 문제풀이 -DP배열에 이전까지와 현재 값을 더한것중 큰것을 넣는다. -위의 그림처럼 배열이 생성되고 따라서 빨간 화살표부분이 DP[i][j]이면 DP[i-1][j-1],DP[i-1][j]에서 내려올 수 있는 것이다. -따라서 DP[i][j] =Math.max(dp[i-1][j-1], dp[i-1][j])+triangle[i][j] 가 된다. -여기서 고민해 봐야할 것은 삼각형 면들에 있는 즉 j==0일때와 j==i일때의 경우..
문제보러가기 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr 이문제는 해시와 정렬을 이용해 풀 수 있는 문제였다. 깔끔하게 풀고 싶었으나 답이 나오게 문제를 풀기만 한 것 같다...ㅎ 문제풀이 -장르별로 어떤 노래가 있는지 구분하기 위해 Map을 이용해 저장해준다. -각 장르 안에서 노래들은 재생 횟수가 높은 순, 같은 재생 횟수일 경우 고유번호(인덱스가 사용됨)가 낮은 순으로 저장할 수 있도록 PriorityQueue를 사용하고 정렬 기준을 정해주기 위해 compareTo함수를 구현해 준다. -장르별..

문제보러가기 코딩테스트 연습 - 위장 programmers.co.kr 이 문제는 나의 수학 기억력이 이 정도라니... 라는걸 깨닫게 한 문제였다. 조합이길래 조합 코드 만들어서 사용했는데 시간 초과!!!! 모든 조합수 구하면 안 돼요~ 문제풀이 -각각의 key, value로 저장할 수 있는 자료구조인 Map을 이용해 저장한다 -> key : 의상의 종류 , value : 의상 이름 *value가 여러 개일 수 있으므로 리스트로 저장한다 -같은 key의 의상끼리는 조합을 만들 수 없고 다른 key끼리가 조합이 가능하며 하나만 입는 경우는 있으나 하나도 안 입는 경우는 없다 -경우의 수를 구해보면 A, B, C종류(key)의 의상이 있고 A, B, C가 각각의 종류에 해당하는 의상 개수(value)일 때 식..
문제보러가기 코딩테스트 연습 - N으로 표현 programmers.co.kr 이문제는 dp로 분류되어있는 문제이다. dp란 작은 문제로 쪼개서 그 작은 문제를 저장해 놓았다가 다시 사용하며 답을 구하는 것이다.라고 생각했는데 처음에 이 문제가 어떻게 dp로 접근하지..? 여기부터 막혔었다..ㅎ 1개 사용 2개 사용을 이용해서 3개 사용을 할 수 있다는 것을 깨닫고 저장하여서 풀었던 문제이다! 개념이 흔들리니 문제 풀기가 막막했다는... dp알고리즘에 대한 개념을 제대로 정리해봐야겠다고 생각했다 문제풀이 -주어진 N이 1 ~ 8개로 만들 수 있는 모든 숫자를 dp에 저장한다. -dp [i] = {dp [j] , dp [j-i]} -> ex) dp [3] = {dp [1] , dp [2]} , {dp [2]..
문제보러가기 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하� www.acmicpc.net 이문제는... 정말.. 코딩이 단순히 코드를 작성하는 게 아니라 문제를 정확히 이해하는 것에서부터 출발한다는 걸 알려주는 문제였다.. 결론 -> 문제를 잘 읽자! 문제풀이 -각 말의 위치와 방향을 저장하고 있는 kInfo [][] 배열과 체스판의 색상 정보를 담고 있는 map [][] 배열에 초기 정보를 받아 저장한다. -추가로 각 말들이 움직였을 때 맵의 상태를 저장하는 moveMap [][] 배열을 만든다 해당 말보다 나중에 들어올 경우 쌓이..
문제보러가기 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 우선 이문제는 큐를 이용해서 풀 수 있었다. 문제에 "들어온 순서대로" 라고 명시되어 있으므로 큐를 사용해야겠다는 접근은 어렵지 않았다! 문제풀이 -들어온 순서대로 먼저 확인해야하기 때문에 큐를 생성하여 넣는다. -location을 함께 저장해서 문제에서 원하는 location의 문서가 몇번째인지 확인할 수 있도록 Pair클래스를 생성한다. -우선순위가 더 높은 문서가 있다면 뒤로 밀리기 때문에 남은 인쇄요청중 우선순위가 높은걸 확인할 수 있게 Pr..
- Total
- Today
- Yesterday
- 분리 집합
- 코딩테스트
- 알고리즘
- Stomp
- 삼성 sw역량테스트
- BFS
- 채팅
- DP
- 운영체제
- java
- sockjs
- 최소 스패닝 트리
- 자바
- Oracle
- Baekjoon
- Heap
- dfs
- 프로그래머스
- MST
- JavaScript
- SWEA
- 삼성 sw역량 테스트
- 정렬
- OS
- git
- programers
- 완전탐색
- 백준
- Spring
- websocket
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |