분류 전체보기
-
BOJ) 숨바꼭질알고리즘/백준 2020. 6. 26. 15:45
숨바꼭질 1697번: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 www.acmicpc.net 풀이 가장 빠른 step에서 위치를 찾아야하기 때문에, step에 따라 우선순위 큐를 이용해야한다고 생각했다. 그래서 class spot을 만들어서 Comaparable을 implement해서 사용했었는데, 63%에서 계속 틀렸다. 설마 step에 따라서가 아닌가 싶어서 Queue로 바꿔서 제출해봤는데 63%에서 틀렸다. 결론은, 로직 자제가 틀렸던 것이다. 더불어, 우선순위 큐가 필요가 없던 것이다. 우선순위를 체크안해도 된..
-
1장) IntelliJ로 스프링부트 시작하기Java & Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2020. 6. 26. 00:04
인텔리제이 설치 원래 IntelliJ를 사용하고 있었으므로, 따로 정리하지 않음 프로젝트 생성 프로젝트 생성 -> Gradle 선택 (Gradle 프로젝트 생성) GroupID와 ArtifactId를 등록한다. ArtifactId는 프로젝트의 이름이 되기 때문에, 원하는 이름을 작성한다. 설정값은 기본 값으로 둔다. 디렉토리 위치 또한, 원하는 경로를 설정한다. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기 gradle 파일을 연다. plugins { id 'java' } group 'com.zin0.book' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } d..
-
정리에 앞서...Java & Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2020. 6. 25. 23:59
잘하지는 않지만, 프로그래밍 언어는 자바를 주로 사용하고, 백엔드 개발자 포지션에 지원하면서 스프링에 대한 경험이 없다는게 많이 민망하고 후회됐다. 그래서, 상반기 공채가 끝난 김에 이 시간을 spring-boot를 공부하자는 계획을 세웠다. ( 상반기 시작부터 계획을 세웠지만, 이제야 실행한다.. ㅠㅠ ) 함께 취준하는 친구와 얘기하다가 '스프링 부트와 AWS로 혼자 구현하는 웹서비스' 라는 책을 알게되었다. 이 책의 저자는 이동욱씨이며, 기억보단 기록을 이라는 블로그를 운영하시는 배민의 백엔드 개발자시다. 평소에 멋있다고 생각한 분의 책임을 확인하고 바로 질러버렸다. 이상하게 IT 기술에 관련해서는 책으로 공부하는 습관이 들지 않았는데, 이번 기회에 JS 기본이랑 spring-boot는 책으로 공부해..
-
BOJ) 요세푸스 문제알고리즘/백준 2020. 6. 25. 17:14
요세푸스 문제 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 쉽게 봤던 문제였는데, 푸는데 약간의 시간이 들었다. 이미 테이블에서 빼낸 사람을 건너 뛰면서 k번 째 사람을 빼내야 하는 문제에서, 여러 명이 빠져있는 경우에 새롭게 빼내야하는 사람을 어떻게 구해야하는지 생각하는데 시간이 조금 걸렸다. 그래서 결국, k번 째 까지 갈 때, 이미 빠져있는 사람이 있으면 총 가야하는 횟수에 +1을 증가시키면서 자리를 탐색했다. 맞기는 했지만, 배열을 이용해서 하니까 탐색 시간이 너무 많이 걸렸다. 그래서 List로 바꿔서 풀어보기로 했다. List에서 k번 째 있는 사람을 빼내는 동시에 list에서 제..
-
BOJ) 손익분기점알고리즘/백준 2020. 6. 25. 17:09
손익분기점 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 풀이 최근 제출된 문제에 많이 떠서, 문제를 몇 번 대충 봤는데 단순한 수식문제라 안풀려고 했다. 하지만, 오늘 정답 비율을 봤는데 23% 정도밖에 되지 않아서 뭔가 다른 생각해야하는 점이 있지 않을까 싶어서 풀어봤다. 손익분기점을 구하는 수식은 Price*N > 고정 비용 + 가변 비용 *N 이라는 식이 나온다. Price*N = 고정비용 + 가변비용*N 으로 부터 나온 N에 +1을 해주면 답이 된다는 말이다. 답을 구해야하는 N에 대해 모두 이항시키면,..
-
BOJ) 01타일알고리즘/백준 2020. 6. 25. 17:04
01타일 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이�� www.acmicpc.net 풀이 처음 문제를 봤을 때는 순서를 모두 구해주어야 한다고 생각했다. 그래서 처음 로직은 for문을 돌리면서 0타일이 n이하까지 2개씩 증가시키면서, 1타일은 n-0타일의 수 를 통해 각각 타일의 수를 구해주었다. 그리고 0타일은 2개를 1개로 인식해야하기 때문에, /2를 해주었다. 0타일의 갯수 : ZERO 1타일의 갯수 : ONE total = ZERO + ONE 위의 변수를 가지고 따지면, total! / ZERO! / ONE! ( ! = 팩토리얼)..
-
BOJ) 베르트랑 공준알고리즘/백준 2020. 6. 24. 17:11
베르트랑 공준 4948번: 베르트랑 공준 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 �� www.acmicpc.net 풀이 에라토네스의 채를 확실히 익혔는지 확인하려고 풀었다. 방법은 바로 이전 포스팅과 같기 때문에 딱히 포스팅할 말은 없다. 에라토네스 채는 자신의 배수에 대해서 소수가 아님을 체크해주는 방식이다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class FindPrimeNums_4948 { final..
-
BOJ) 소수 구하기알고리즘/백준 2020. 6. 24. 17:08
소수 구하기 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 풀이 소수를 구하는 문제를 풀어본지 오래돼서 에라토네스의 채 자체를 망각하고 있었다. 그래서 GCD를 통해 풀어야하나 생각하다가, 소수를 구하는 알고리즘이 있나 찾아봤다. 에라토네스의 채를 보고 존재가 다시 떠올랐다. 구현하는 방법은 까먹어서 방법을 익히기로했다. 1은 소수에 포함되지 않기 떄문에 2부터 시작하고, j에 해당하는 부분은 자신의 배수에 대해 표시를 해주는 것이다. 이후에, for문을 돌면서 소수를 찾아 출력해줬다. 하지만, for문을 다시 도는 부분이 불필요하다고 느..