분류 전체보기
-
백준 1233번 주사위알고리즘 문제풀이/Java 2020. 4. 5. 17:08
문제 지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2 ≤ 20), S3(2 ≤ S3 ≤ 40)개의 면이 있다. (실제로는 주사위가 6개의 면이 있는 것이 정상이지만 특별한 주사위라 생각하자.) 문제는 세 개의 주사위를 동시에 던졌을 때 가장 높은 빈도로 나오는 세 주사위의 합을 구하는 것이다. 입력 입력 파일의 첫째 줄에 정수 S1, S2, S3가 주어진다. 출력 출력 파일의 첫째 줄에 가장 높은 빈도로 나오는 세 주사위 합을 구하는 것이다. 단 답이 여러개라면 가장 합이 작은 것을 출력한다. 예제 입력 1 복사 3 2 3 예제 출력 1 복사..
-
백준 1076번 저항알고리즘 문제풀이/Java 2020. 4. 5. 16:16
문제 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다. 색 값 곱 black 0 1 brown 1 10 red 2 100 orange 3 1000 yellow 4 10000 green 5 100000 blue 6 1000000 violet 7 10000000 grey 8 100000000 white 9 1000000000 예를 들어, 저항에 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다. 입력 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다. 출..
-
다형성(Polymorphism) - 부모와 그 자식에 관하여(상속)Language/Java 2020. 4. 4. 12:15
public class Main { public static void main(String[] args){ Person a = new Student("catnap", 24); a.print(); } } 위 예시의 세 번째 라인의 코드와 같은 형식을 봐온 적이 있는가? 그렇다면 저 코드가 무엇을 의미하고 있는 지와 왜 저렇게 사용하는 지를 아는가? 이 글은 저 코드가 어떠한 의미를 가지고 있는지, 다형성과 어떻게 연관되어 있는 지를 설명한다. ※ 본문은 다형성의 개념을 어느정도 이해하지만(오버로딩과 오버라이딩), 상속에 있어서 다형성의 개념이 어떻게 적용되는 지 이해가 잘 안가시는 분들을 위한 글입니다. 충분히 다형성을 이해하고 계신다면, 뒤로가기를 눌러주세요. 먼저 위 예시의 세 번째 라인을 설명하고 넘..
-
[프로그래머스 Level 1] 문자열 내 마음대로 정렬하기알고리즘 문제풀이/Java 2020. 4. 3. 17:45
문제 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다.제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 stringsnreturn [sun, bed, car] 1 [car, bed,..
-
[프로그래머스 Level 1] 실패율알고리즘 문제풀이/Java 2020. 4. 3. 16:12
문제 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 ..
-
Sort a Map<Key, Value> by valuesLanguage/Java 2020. 4. 3. 15:34
다른 언어인 JavaScript나 Python같은 경우엔, 객체 혹은 딕셔너리로 구성되어 있어서 value로 key를 정렬하는 게 어려운 일이 아니다. 하지만 Java에선 Map을 통해 Key - Value를 구성해야하는데, 문제는 마땅한 API가 없다는 것이다. 결국 StackOverflow를 뒤지다가 원하는 대답을 얻었다. https://stackoverflow.com/questions/109383/sort-a-mapkey-value-by-values?page=1&tab=votes#tab-top Sort a Map by values I am relatively new to Java, and often find that I need to sort a Map on the values. Since the ..
-
[APAS] Roman to Integer알고리즘 문제풀이 2020. 3. 29. 17:24
로마 숫자에는 I, V, X, L, C, D, M 등이 존재한다. 각자 1, 5, 10, 50, 100, 500, 1000을 의미하는데, 로마 숫자가 입력으로 제공된 경우, 이를 정수로 변환하는 코드를 작성해보자. import java.util.HashMap; import java.util.Scanner; public class RomanToInteger { public static void main(String[] args){ HashMap romanChar = new HashMap(); romanChar.put('I', 1); romanChar.put('V', 5); romanChar.put('X', 10); romanChar.put('L', 50); romanChar.put('C', 100); ro..
-
[학교 내 빈 강의실] Step 1Project/개인 2020. 3. 8. 21:22
계기 동기 형이랑 이런저런 이야기를 나누다 학교 개강도 미뤄졌겠다 혼자 하기 괜찮은 프로젝트가 무엇이 있을까라는 주제가 나왔다. 요새 인터넷을 많이 하는 나에겐 웹 크롤링에 관한 프로젝트로 방향을 잡고 있었는데, 마침 형이 나한테 자기의 비밀 아이디어라면서 이렇게 주제를 던져주었다. "학교 내 빈 강의실을 찾아주는 거 어때?" 형은 학교를 다니면서 310관에서 주로 활동하는 우리가 일부러 공강 시간에 맞춰 도서관가기도 귀찮고, 또 시험기간에는 한 개방 강의실에서 수업이라도 있으면 다른 강의실을 찾아가야 하는 게 귀찮아서 저런 생각이 떠올랐다고 하였다. "음.. 웹 크롤링으로 일단 모든 강의 시간표를 가져오고.. 현재 시간과 비교하여 사용자가 몇 층인지만 입력하면 현재 층 기준으로 찾아주면 좋겠네." 나는..