일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배포
- 프로그래머스
- Kakao
- glod4
- Gold4
- gold5
- HTML
- glod5
- 개념
- LEVEL1
- 백준
- LEVEL2
- mysql
- Thymeleaf
- 오류
- LCS
- 9252
- CSS
- java
- leetcode
- siver3
- leetcode 69
- 구현
- 백엔드
- gold2
- AWS
- error
- PYTHON
- jpa
- spring
- Today
- Total
목록algorithm (78)
이 험난한 세상에서어어~
문제 설명 집 N개가 같은 좌표를 가지는 일이 없게 수직선 위에 서 있다. 이때 도현이는 와이파이를 각 집에 설치해서 최대한 많은 곳에서 인터넷을 사용하려고 한다. 와이파이는 한 집에 하나만 설치할 수 있고 가장 인접한 두 공유기 사이의 거리를 최대로 하려고 한다. 해당 값을 구하는 문제이다. https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 문제 풀이 첫 번째 접근 일단 부르트포스(완전 탐색)..
문제 설명 두 수열이 주어졌을 때, LCS의 길이와 LCS를 구하는 문제이다. https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 풀이 첫 번째 접근 https://jiwonna52.tistory.com/71 LCS(Longest Common Subsequence, 최장 공통 부분 수열) java LCS란? 부분 수열 LCS는 최장 공통 부분 수열로 두 개의 수열이 주어졌을 때, 공통 수열 중 ..
문제 설명 길이가 N인 계단 수열의 수를 구하는 문제인데, 이때 0부터 9까지의 숫자가 모두 한 번 이상 등장해야 한다. 이때 0으로 시작하는 수는 계단수가 아니다. https://www.acmicpc.net/problem/1562 1562번: 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 풀이 첫 번째 접근 DP 문제이기 때문에 처음에는 직접 손으로 풀어 써봤다. 이때 계단수의 규칙을 발견했는데, 0혹은 9의 옆 자리에는 1과 8밖에 오지 못한다는 점이다. 일단 0의 경우에는 0과 x를 빼서 절댓값이 1이 되는 경우가 1혹은 -1인데, -1은 오지 못하니 1밖에 없다. 9 또한 10과 8이 있지만, 10은 고려 사항이 아니니 8밖에 오..
LCS란? 부분 수열 LCS는 최장 공통 부분 수열로 두 개의 수열이 주어졌을 때, 공통 수열 중 제일 긴 것을 의미한다. 예를 들어서 abcf와 aebwcd가 있다고 생각해 보자. 그렇다면 여기서 나오는 LCS는 abc이다. abcf aebwcd 위의 굵게 표시된 문자들을 보면 알 수 있을 텐데, 공통 부분 수열은 굳이 문자들의 한 번에 이어질 필요가 없다. 공통된 문자가 얼마나 길게 차례대로 나오느냐를 따지는 문제이기 때문이다. 최장 공통 부분 수열 이제 최장 공통 부분 수열을 구하는 방법을 알아보자. 그러기 전에 아래의 유튜브 비디오를 보고 오는 것을 추천한다. 현재 글도 아래 동영상을 기반으로 작성한 것이다. https://www.youtube.com/watch?v=sSno9rV8Rhg LCS의 ..
문제 설명 게임판이 존재할 때, 말이 시작 위치에서 목표까지 최소 몇 번만에 도달할 수 있는지를 구하는 문제이다. 말은 상, 하, 좌, 우 총 4방향 중 하나를 선택해서 움직인다. 이때 장애물이나 벽을 부딪힐 때까지 쭉 움직여야 하는데, 이 움직임 한 번을 한 번 이동한 것으로 친다. 뿐만 아니라 만일 목표 지점에 도착했더라도 주변에 장애물이나 벽이 없어 멈추지 못했다면, 목표 지점을 지나가게 된다. 처음 문제를 봤을 때 혼란스러웠던 이유는 저 맨 마지막 조건을 고려하지 않았기 때문이다. 나는 목표점인 'G'까지만 가면 이동이 종료되는 줄 알았으나, 이동의 종료는 무조건 장애물이나 벽을 만날 때만이다. 그러므로 멈출 수 없다면 'G'를 만나도 계속 움직여야 한다. https://school.program..
문제 설명 머쓱이가 혼자서 틱택토를 하는데, 중간에 규칙을 어기는 실수를 했을지도 모른다. 때문에 보드가 주어졌을 때 해당 보드가 규칙에 맞게 나올 수 있는 결과이면 1을 아니면 0을 반환하라. 규칙 1. 'O'이 선공 'X'가 후공이다. 2. 어느 기호든 빙고가 먼저 나오면 무조건 게임이 끝나야 한다. https://school.programmers.co.kr/learn/courses/30/lessons/160585# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 첫 번째 접근 솔직히 어려웠고 중간에는 개열받았다. 아무튼 처음에는 깊이 우선 ..