일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 | 31 |
- github action
- capitalize
- 백준
- Activirty
- 성빈랜드
- navigation component
- 브론즈 1
- Android
- Bitrise
- LazyColumn
- 데이터베이스
- 피보나치 수 2
- DB
- 최댓값 최솟값
- 실버 4
- suspend programming
- DB 기능
- compose
- 프로그래머스
- 개발하는 정대리
- LazyRow
- 브론즈1
- .github
- 2레벨
- keystore
- 데이터베이스 첫걸음
- gradlew
- 실버2
- kotlin
- Myungpyo Shim
- Today
- Total
목록알고리즘 (9)
plzy의 개발 블로그
[Silver IV] 덱 - 10866 문제 링크 성능 요약 메모리: 27332 KB, 시간: 276 ms 분류 자료 구조(data_structures), 덱(deque) 문제 설명 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있..
Deque를 알기 전에 Stack과 Queue에 대해 먼저 알아야 한다. 왜냐하면 Stack과 Queue의 단점을 보완한 게 Deque이기 때문이다. Stack란 무엇인가? stack은 후입 선출(LIFO)로 풀이하자면 마지막으로 들어간 데이터가 가장 먼저 나온다.라는 뜻이다. Kotlin에서의 Stack은 다른 Collection처럼 Interface가 존재하지 않고, 단일 클래스로 존재한다. 데이터를 입력하는 것을 push라고 하고 데이터를 꺼내는 게 pop이라고 한다. Queue란 무엇인가? queue는 선입선출(FiFO)로 풀이하자면 먼저 들어간 데이터가 가장 먼저 나온다.라는 뜻이다. 우리가 학창 시절 급식실에 줄을 설 때처럼 먼저 줄 선 사람은 먼저 밥 먹을 수 있고, 마지막에 들어온 사람은 ..
[Bronze I] 피보나치 수 2 - 2748 문제 링크 성능 요약 메모리: 12316 KB, 시간: 88 ms 분류 다이나믹 프로그래밍(dp), 수학(math) 문제 설명 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그다음 2번째부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 90보다 작거나 같..
[Silver IV] 괄호 - 9012 문제 링크 성능 요약 메모리: 12484 KB, 시간: 88 ms 분류 자료 구조(data_structures), 스택(stack), 문자열(string) 문제 설명 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가..
[Silver IV] 소수 찾기 - 1978 문제 링크 성능 요약 메모리: 20696 KB, 시간: 128 ms 분류 수학(math), 정수론(number_theory), 소수 판정(primality_test), 에라토스테네스의 체(sieve) 문제 설명 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.Out..
[level 2] JadenCase 문자열 만들기 - 12951 문제 링크 성능 요약 메모리: 64.3 MB, 시간: 14.43 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다..
[level 2] 최댓값과 최솟값 - 12939 문제 링크 성능 요약 메모리: 65 MB, 시간: 20.58 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 풀이 class Solution { fun solution(s: String): String { val a..
백준 사이트로 코딩 테스트를 풀다 보면 BufferedReader로 입력값을 받을 것이다. 기존에는 Scanner로 받았지만 왜 BufferedReader로 입력값을 받는 걸까? 그 두 개의 차이점과 무엇을 써야 할지 알아보자. Scanner 정규 표현을 사용해 원시적 형태 및 라인을 구문 분석할 수 있는 간단한 텍스트 스캐너이다. java.util 에 위치해 있다 thread로부터 안전하지 않다. 버퍼 사이즈가 1042byte (1KB)이다. BufferedReader 문자를 버퍼링 하여 문자 협력 스트림에서 텍스트를 읽는다. java.io package에 있다. thread로부터 안전하지 않는다. 버퍼 사이즈가 8192byte (8KB)이다. 차이점 BufferedReader는 동기화되지만 Scann..