목록전체 글 (192)
Lewis's Tech Keep
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/84021?language=java 코딩테스트 연습 - 3주차 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr - 풀이 : BFS + 구현 으로 해결 : 보드 // 퍼즐 조각으로 구성 되어있는 배열들을 각각 빈 공간..
- 우리가 프로그래밍 언어를 배우는 이유 : 프로그램이 인간의 언어의 복잡성, 불규칙을 이해하는 것 보다 인간이 프로그램의 언어를 배우는 것이 더 쉬움 - 프로그램이 못 하는 것 : 타이포(typo) 같은 작은 실수를 알아서 수정하는 것은 어렵고 바로 받아들인다. - 프로그램이 잘 하는 것 : 어떤 복잡한 문장에서 간단한 일(task)들을 빠르게 돌며 계산하고 결과 도출 : 간단하고 반복적 업무에 있어서 강점이 있음
- 보통 2차원 배열 traversal 순차적으로 조회할 때 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 이런 식이거나 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 이런 식의 경우가 많은데 나는 24 25 10 11 12 23 9 2 3 13 22 8 1 4 14 21 7 6 5 15 20 19 18 17 16 이런 식으로 순회를 하고 싶었다. 코드는 아래에.. 더보기 public class Main { public static void test2DArrayClockWiseTraversal() { int CellSize = 5; int[][] arr = new..
링크 : https://www.acmicpc.net/problem/16472 16472번: 고냥이 고양이는 너무 귀엽다. 사람들은 고양이를 너무 귀여워했고, 결국 고양이와 더욱 가까워지고 싶어 고양이와의 소통을 위한 고양이 말 번역기를 발명하기로 했다. 이 번역기는 사람의 언어를 고 www.acmicpc.net 참고 링크 : https://velog.io/@pss407/%EB%B0%B1%EC%A4%8016472-%EA%B3%A0%EB%83%A5%EC%9D%B4 - 풀이 : 투 포인터 문제 : 투 포인터의 힌트 : 어떤 한 배열에서의 길이가 최대가 되는 어떤 것을 구해야 함 - 후기 & 피드백 : 처음에 투 포인터인 것을 알아채기까지 시간이 좀 걸렸고 이후 현재 답 로직과 비슷하게 썼는데 한번에 start..
링크 : https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net - 풀이 : 탐욕법으로 푸는 문제 : 동전 갯수의 최소값 = 가장 크게 소모 시킬 수 있는 값 : Ex 4200 원의 최소 갯수 = 1000원 4장 100원 2장 (단위 중에 1000, 500, 100, 10, 5, 1 밖에 없다면) 더보기 import java.util.Scanner; public class Solution..
링크 : https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net - 풀이 - 구현 문제 - 위치 순대로 정렬 후 가장 큰 높이를 구하고, 가장 큰 높이의 마지막 index를 구한다. (가장 큰 높이가 여러 개 일 경우 커버) - 0 ~ 가장 큰 높이의 마지막 index 까지 높아질 때마다 면적을 계산하고 - n-1 ~ 가장 큰 높이의 마지막 index 까지 높아질 때마다 면적을 계산하면 - 움푹 패인 곳이 없는 창고를 지을 수 있게 된..
링크 : https://programmers.co.kr/learn/courses/30/lessons/67259?language=java# 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr - 풀이 : 벽을 지나갈 수 없는 곳을 제외하고는 ..
링크 : https://www.acmicpc.net/problem/14247 14247번: 나무 자르기 영선이는 나무꾼으로 나무를 구하러 오전에 산에 오른다. 산에는 n개의 나무가 있는데, 영선이는 하루에 한 나무씩 n일 산에 오르며 나무를 잘라갈 것이다. 하지만 이 산은 영험한 기운이 있어 www.acmicpc.net - 풀이 - 탐욕법 문제 - 현재 최선의 방법을 구하는 문제 - 성장 가능성만 따져서 성장 가능성이 가장 낮은 것 부터 잘라낸다 더보기 import java.util.*; public class Solution { static class Tree { int baseNum; int growNum; public Tree(int baseNum, int growNum) { this.baseNum..