- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 책리뷰
- 코틀린
- jlpt
- pullrequest
- Android
- ai
- GIT
- blog
- CustomTab
- github
- withContext
- Kotlin
- errorhandling
- 책추천
- PR
- 진짜학습지후기
- rxjava
- 진짜일본어
- 일본어기초
- suspend
- 학습지
- 일본어문법
- webflux
- androidstudio
- coroutine
- 안드로이드
- 진짜학습지
- posting
- n3문법
- KotlinInAction
목록알고리즘 (64)
코딩하는 개굴이
알고리즘 뽀개기 Step 1 : 자료구조 알고리즘을 최대한 간단하면서 빼먹는 부분이 없게 복습 및 요약하기 위해 포스팅을 하려고 합니다 :) 추천한 문제는 일부만 해설되어있으며, 언어는 Kotlin 입니다. 스택 스택 (Stack)은 한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료구조이다. 마지막으로 넣은 것이 가장 먼저 나오기 때문에 Last In First Out (LIFO)라고도 한다. 연산 push, pop, top(가장 위의 자료를 보는 연산), empty(비어있는지 아닌지 확인하는 연산), size(저장된 자료의 개수를 반환하는 연산) 문제 추천 괄호 : https://www.acmicpc.net/problem/9012 큐 큐 (Queue)는 한쪽 끝에서만 자료를 넣고 다른 한쪽 끝에서만 뺄 수 ..
BaekJoon/BOJ [JAVA] 방 번호_1475HINT: 6과 9의 숫자는 더해서 2로 나누어 올림하면 된다. 본인의 경우, Math.round를 사용하여도 되지만 그냥 +1을 더한채로 2로 나누어 계산하여 올림의 효과를 내었다!import java.util.Scanner;public class baekjoon_1475 { public static void main(String[] argc) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); int []arr ={0,0,0,0,0,0,0,0,0,0}; int set = 1; for(int i=0;i
BaekJoon/BOJ [JAVA] 부녀회장이 될테야_2775 HINT: 왜 이 문제의 제목이 부녀회장이 될테야일까? 부녀회장과는 대체 무슨상관인걸까...? 부녀회장이 각 거주자 수를 통계를 내어야한다 이런내용으로 부녀회장은 힘들어 이게 더 맞지 않았을까....(끄적끄적) 재귀로 더해 나가도록 하였다. 규칙을 찾으려고 하였지만 이쪽이 더 편하다! import java.util.Scanner; public class baekjoon_2775 { /* * 0층 1 2 3 4 5... * 1층 1 3 6 10 15... * 2층 1 4 10 20 25... * */ public static void main(String[] argc) { Scanner scanner = new Scanner(System.in)..
BaekJoon/BOJ [JAVA] ACM호텔_10250 HINT: 방번호는 간단하게, 앞자리는 n에서 h를 나눈 나머지가 되고, 뒷자리는 이들의 몫에 1을 더한 값이 되는 것을 알 수 있다. 그러나 이렇게 했을때 생기는 문제점은 2가지이다. 첫째로 뒷자리가 한자리 수일 때와 두자리 수일 때가 이것이다. 이 때문에 roomnumber를 string으로 하여서 0을 붙인 상태(나머지가 한자리수)와 안붙인 상태(나머지가 두자리수)를 구분하여 붙여 주었다. 둘째는 n에서 h가 나누어 떨어지는 경우이다. 이때는 위의 공식이 적용되지 않는것을 알 수 있다. 이때는 앞자리가 h가 되고 뒷자리가 n/h를 한 몫이 되므로 이것을 고려하여 코딩을 한 것이 아래와 같다. import java.util.Scanner; pu..
BaekJoon/BOJ [JAVA] Fly me to the Alpha Centauri _1011 HINT: 1 121 12321 1234321 1 4 9 16 25 36 49 + 1 3 5 7 9 11 13... 3의 제곱이면 거리가, 3번째 홀수인 5번 공간이동한다. 이때 나누어 떨어지지 않는 경우를 고려해 나머지에 대해서 모자란 만큼을 끼워 넣어주면 된다. count/2+1인 이유는 예를 들어 11count면, 12345654321 이기에 6까지 중에서 더해봐야 하기 때문이다. import java.util.Scanner; public class baekjoon_1011 { public static void main(String[] argc) { Scanner scanner = new Scanner..
BaekJoon/BOJ [JAVA] 분수찾기_1193 HINT: import java.util.Scanner; import java.util.Vector; public class baekjoon_1157 { public static void main (String[] argc) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine().toUpperCase(); Vector alpha = new Vector(); for(int i=0;i
BaekJoon/BOJ [JAVA] 크로아티아 알파벳_2941 HINT: 경우의 수를 나누고 count_length는 특수한(표에 나와있는)크로아티아 알파벳의 길이를, count는 특수한 크로아티아 알파벳의 수를 세었다 import java.util.Scanner; public class baekjoon_2941 { public static void main(String[] argc) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); int count=0; int length_count=0; for(int i = 0; i < input.length() - 1; i++) { switch(input.charAt(i))..
BaekJoon/BOJ [JAVA] 상수_2908 HINT: Java에서는 문자열 더하기를 할 수 있다 import java.util.Scanner; public class baekjoon_2908 { public static void main(String[] argc) { Scanner scanner = new Scanner(System.in); String a = scanner.next(); String b = scanner.next(); String a_tmp=""; for(int i=a.length()-1;i>=0;i--) { a_tmp+=a.charAt(i); } String b_tmp=""; for(int i=b.length()-1;i>=0;i--) { b_tmp+=b.charAt(i); } ..
BaekJoon/BOJ [JAVA] 그룹 단어 체커_1316 HINT: 배열 초기값이 0인거랑 index 0 이랑 겹쳐서 이상한짓 하고있었다.... 그래서 차피 알파벳이니까 -1로 초기화 했다. import java.util.Scanner; public class baekjoon_1316 { public static void main(String[] argc) { Scanner scanner = new Scanner(System.in); int iter = Integer.parseInt(scanner.nextLine()); int count=0; while(iter-->0){ String input = scanner.nextLine(); int alpha[] = new int[26]; for(int i=..
BaekJoon/BOJ [JAVA] 단어공부_1157 HINT: 백준은 잘못이 없습니다. 제 머리탓이지요... max를 초반만 구하고 break 해 버리는 멍청한 짓을 한건 안비밀 추가 예시: aasdjhfgjkjkjghubg -> j import java.util.Scanner; import java.util.Vector; public class baekjoon_1157 { public static void main (String[] argc) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine().toUpperCase(); Vector alpha = new Vector(); for(int i=0;i