문제 1158번 - 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 package seohae.algorithm.level1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; /** * https://www.acmicpc.net/problem/11..
문제 42586번 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 풀이 package seohae.algorithm.level2; import java.util.*; /** * https://programmers.co.kr/learn/courses/30/lessons/42587 */ public class Lesson_046_42586 { public static void main(String[] ar..
문제 12924번 https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 풀이 package seohae.algorithm.level2; /** * 최댓값과 최솟값 * https://programmers.co.kr/learn/courses/30/lessons/12939 */ public class Lesson_038_12924 { public static void main(String[] args..
문제 12901번 https://programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr 풀이 (1) 런타임 에러 발생 예시로 "3people Unfollowed Me" 처럼 공백이 2개 이상 들어간 경우 발생한다. public String solution(String s) { StringBuilder answer = new StringBuilder(); String[] a..
문제 12901번 https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 풀이 package seohae.algorithm.level1; import java.time.DayOfWeek; import java.time.LocalDate; /** * 2016년 * https://programmers.co.kr/learn/courses/30/lessons/12901 */ publi..
문제 12903번 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 풀이 package seohae.algorithm.level1; import java.util.Arrays; import java.util.Comparator; import java.util.Stack; /** * 같은 숫자는 싫어 * https://programmers.co.kr/learn/courses/30/les..
문제 9012번 - 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 package seohae.algorithm.level1; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Scanner; import java.util.Stack; /** * 괄호 * h..
문제 10870번 - 피보나치수열 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 재귀함수 풀이 import java.util.Scanner; public class M10870 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long A = sc.nextLong(); System.out.println(facto..
2750번 : 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 선택정렬 풀이 import java.util.Scanner; public class M2750_선택정렬 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int[] arr = new int[A]; for(int i = 0; i < A; i++) ..
백준 2884번 제출 코드 1) 기본 import java.util.Scanner; public class M2884_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String A = sc.nextLine(); String[] array = A.split(" "); int hour = Integer.parseInt(array[0]); int minute = Integer.parseInt(array[1]); if (minute >= 45) { minute = minute - 45; } else { minute = 60 + minute - 45; hour = hour - 1; if (hour < 0) { ho..
백준 2588번 1) 문제 2) 입력/출력 예제 제출 코드 import java.util.Scanner; import java.util.stream.Stream; public class M2588 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); // 472 int B = sc.nextInt(); // 385 /* 풀이 진행 */ // 1) 입력값 배열로 변경 int[] digitsA = Stream.of(String.valueOf(A).split("")) .mapToInt(Integer::parseInt) .toArray(); int[] digitsB = Stream.of..
문제 괄호로 된 입력 값이 올바른지 판별하라 입력: ()[]{} 출력: true 나의 코드 문제 : leetcode.com/problems/valid-parentheses/ # 괄호로 된 입력 값이 올바른지 판별하라 # 입력 ()[]{} # 출력 true # 리스트로 구현해보자. class Solution: def isValid(self, s: str) -> bool: dict = {"(": ")", "[": "]", "{": "}"} # 문자열을 리스트로 변환 value_list = list(s) print(value_list) i = 0 while i < len(value_list): key = value_list[i] # 존재한다면 if dict.get(key) in value_list: value..