생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q1000/Q1931.kt 회의실을 최대한 많이 사용할 수 있는 경우의 수를 출력하여라. 회의실의 끝나는 시간에 바로 다음 강의를 시작할 수 있다. 처음 생각최대한 많이 회의를 많이 할 수 있는 경우를 따져봐야한다. 최대한 따져보라는 말을 토대로 그리디적인 접근을 해볼 필요가 있다.▶ 회의를 많이 해야하므로, 끝나는 시간이 빠른 회의먼저 회의를 하면된다. 다음 생각회의를 끝나는 순서대로 정렬해준 후, 빠른 순서대로 회의장을 사용하도록 하였더니 틀렸습니다가 나왔다. 같은 시간에 끝난 경우를 염두해 두지 않았기 때문이다.▶ 회의가 같은 시간에 끝날 경우는 시작시간에 빠른 순서대로 넣어준..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q10000/Q11047.kt 동전 금액과 목표 금액이 주어진다. 최소한의 동전으로 해당 목표 금액을 만들 수 있을 때, 최소한의 동전 수를 출력하여라. 처음 생각동전을 최소한으로 사용해야 하므로 큰 동전부터 우선적으로 사용을 해나가면 된다.▶ 해당 금액으로 몫과 나머지를 따져도 되지만 큰 동전부터 뺄수있는 만큼 빼나가면서 진행을 하였다. 다음 생각동전수가 세세하게 주어졌기 때문에 그리디 적인 풀이로도 풀이가 가능하다. 만약 동전이 띄엄띄엄 주어졌으면 DFS나 BFS를 통해 풀이를 해야할 것이다. 방안1) Java 풀이(몫과 나머지 이용) 123456789101112131415161..
본선이 끝난지 1주일도 넘었지만 후기를 써봅니다ㅎㅎ이데일리 코딩 챌린지는 이번이 1회로 예선전부더 말도 많고 탈도 많았던것 같습니다.(대회 관련 자세한 내용과 본선 문제 관련은 https://coding.edaily.co.kr/에서 살펴보실 수 있습니다.) 예선 예선전은 정말 말이 많았던 것 같습니다. 우선 48시간 동안 120문제가 주어집니다. 무조건 풀어야하는것은 아니기에 저의 경우는 60~70문제 정도 풀다가 나도 모르겠다는 마음가짐으로 노트북을 끈게 기억이 납니다ㅎㅎ 그럼 어떤게 논란이였는지 알아보겠습니다. 1) 일부 문제들이 온라인 저지의 유명 문제들과 비슷하게 나왔습니다.2) 120문제나 주어졌는데 웹 코딩 환경에서 복사 붙여넣기가 되지 않습니다. 저와 같은 Java로 풀이를 하는 분들에게는 ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q1000/Q1449.kt 길이가 L인 테이프를 최소로 사용하여 파이프 수리를 하고자 한다. 최소로 사용한 개수를 출력하여라. 처음 생각파이프의 양쪽을 0.5 만큼 덮어야한다. 파이프의 고장난 곳은 무조건 정수이므로 0.5는 수리를 하는데 아무런 영향을 끼치지 못한다.▶ 따라서 양쪽의 0.5를 못쓴다 생각하고 처음 입력받은 테이프의 길이 L에서 -1을 뺀 값을 테이프로 사용하였다. 다음 생각고장난 부분만 살펴봐도 상관이 없지만 길이가 최대 1000밖에 안하므로 길이가 1000인 배열을 만들어 고장난 곳을 1로 표시하였다. 다다음 생각배열을 처음부터 살펴보면서 값이 1인 즉, 고장난 ..
생각월과 일이 숫자로 주어진다. 2007년의 해당 월과 일이 무슨 요일인지 출력하시오. (월요일이면 MON 일요일이면 SUN 같이 출력) 처음 생각Java에서는 Calendar Class를 사용하면 쉽게 날짜에 대한 구하고 싶은 것들을 구할 수 있다.▶ set을 통해 원하는 날짜를 입력해준후 해당 날의 요일을 구할 수 있다.▶ 한가지 주의점이라면 Calendar class의 메소드를 보면 Month는 0부터 시작하는걸 알 수 있다. 따라서 입력받은 월의 -1을 해주어야한다. 다음 생각get 메소드와 Calendar.DAY_OF_WEEK 를 통해 1~7의 return 값을 얻을 수 있다. 1은 일요일 7을 토요일을 의미한다. String 배열로 1~7에 해당하는 요일값의 출력을 미리 저장해 놓아도되지만 이..
생각|\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__| 를 그대로 출력한다. 처음 생각Java를 사용하면 \을 처리해주기위해서 \와 "를 출력해주기 위해서 귀찮은 반복작업을 해야한다. 하지만 Kotlin을 사용하면 이야기가 달라진다. 다음 생각Kotlin에서는 String 값을 넣을 때 """ 내용 """ 을 사용해주면 내용의 문자열 그대로 저장 및 출력을 지원한다. 따라서 개의 모양을 복사해서 내용에 넣어주면 그대로 출력이 가능한다. 방안1) Kotlin의 그대로 문자열을 출력할 수 있는 """ """ 의 사용 1234567891011import java.util.*fun main(args:Array){ var sc : Scanner = Scanner(System.`in`) ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q1000/Q2741.kt N 을 입력받는다. 1부터 N까지 출력한다. 처음 생각Kotlin의 반복문은 Python과 비슷하다. 일반적인 Java의 문법과는 다르게 in을 사용하여 범위를 정해주고 step을 사용하여 변수 증가를 시켜준다.▶ 또 Scanner를 입력받을 때, System.in에서 이미 이 'in'이 Kotlin에서는 미리 정의되어있는 단어이므로 'in'으로 구분을 지어주어야 사용이 가능하다. 방안1) Java 12345678910import java.util.Scanner; public class Solution { public static void main(Stri..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q10000/Q13908.java 비밀 번호를 알아내려고 한다. 3자리면 000~999 2자리면 00~99 까지 가능하다. n자리의 비밀 번호중 m개의 숫자가 무조건 사용되어야한다. 예를들어 m이 2로 주어지고 3 4 가 주어지면 n이 2라면 34 43 밖에 비밀번호가 될 수 없다. n과 m이 주어질 때, 비밀번호가 될 수 있는게 몇개인지 출력하여라. 처음 생각n이 최대 7로 모든 경우를 보더라도 0000000~9999999로 천 만개만 봐주면된다. 따라서 완전 탐색을 통해 결과를 얻을 수 있다. 다음 생각천 만개에 대해서 매번 생성된 비밀번호마다 반복문을 이용해서 해당 숫자가 있나..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q10000/Q16236.java 아기 상어가 혼자서 먹이를 혼자 먹으러 돌아다닐 때, 최소로 이동한 거리를 구하여라. 아기 상어는 자신보다 큰 물고기는 지나가지 못한다. 먹이가 여러개일때는 최소 거리, 같은 거리에 먹이가 있을 때는 위쪽, 위쪽에 여러 먹이가 있을 경우는 왼쪽을 우선시 한다. 처음 생각먹이를 찾아 그 먹이를 잡아 먹어야한다. Queue를 사용해서 BFS 탐색을 통해 현 아기 상어 위치에서 먹이를 찾아주어야겠다고 생각하였다. 다음 생각4방향 탐색을 통해 먹이를 찾는 탐색을 한다. 여러 먹이가 발견되면 해당 탐색 회차에서의 모든 먹이를 비교해서 조건에 만족하는 먹이를 ..
생각Github - https://github.com/hellojdh/Code/blob/master/src/baekjoon/q10000/Q16235.java 상도가 나무 재테크를 한다. 봄 여름 가을 겨울에 각 각 일어나는 일이 다르다. 봄에는 나무가 땅의 양분을 자기 나이만큼 흡수한다. 같은 땅에서는 나이가 어린 나무부터 양분을 흡수한다. 이 때 자기 나이보다 땅에 양분이 없으면 그 나무는 즉사한다. 여름에는 봄에 즉사했던 나무들이 해당 나무의 나이/2 만큼 해당 좌표의 땅에 양분이 된다. 가을에는 나무의 나이가 5의 배수이면 주변 모든 좌표(8개)에 나이가 1인 나무를 퍼트린다. 겨울에는 로봇 S2D2가 땅을 돌아다니면서 입력으로 주어진 해당 땅의 양분을 공급한다. 위 같은 과정을 거치면 1년이 흐른..
- Total
- Today
- Yesterday