알고리즘 with JAVA
백준 10926 - 자바 (JAVA)
https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때 www.acmicpc.net 단계별 알고리즘을 풀려고 왔다가 1단계인 입출력과 사칙연산 부분에서 2문제를 풀지 않아서 풀어보려고 왔다가 글쓰고 가려고 합니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args..
백준 10799번 쇠막대기 문제 - JAVA
https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 받은 괄호 문자열을 하나씩 확인하면서 진행합니다. ()가 되면 레이저 이므로 이번에 들어온 문자가 ')'이고 직전에 들어온 문자가 '('이면 레이저 이므로 '()'이 완성됩니다. '()'인 레이저를 제외하고 이전에 입력된 '('를 더합니다. 이번에 들어온 문자가 ')'이고 직전에 들어온 문자도 ')'이면 '))' 이므로 막대기를 닫는 괄호이므로 막대기 하나가 끝을 봤으니 +1을 해줍니다. '))' 되면서 +..
백준 4949번 균형잡힌 세상 (JAVA)
https://www.acmicpc.net/problem/4949 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class No_4949 { public static void main(String[] args) throws IOException { /** * 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다. * * 입력의 종료조건으로 맨 마지막에 점 하나(".")가 들어온다. * * 모든 왼쪽 소괄호("(")는 ..
백준 10773번: 제로 문제 (JAVA) 스택문제
https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 스택문제입니다. 힌트를 보시면 입력된 정수를 계속 쌓습니다. 0이 입력이되면 제일 최근에 쌓인 정수를 지웁니다. 그렇게 마지막 까지 남은 숫자들을 모두 더해서 출력하는 문제입니다. 전체 코드입니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; ..
백준 10828번 문제 - 스택 (JAVA)
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 스택은 first in last out으로 블럭 쌓기라고 생각하시면 됩니다. 블럭을 쌓는데 아래부터 차곡차곡 쌓이는 것이라고 보면 됩니다. 반대로 쌓인 블럭을 정리하기 위해서는 위에서 부터 하나하나 빼줘야 합니다. 제가 작성한 코드를 보고 설명드리겠습니다. 전체코드 import java.util.Arrays; import java.util.Scanner; import java.u..
JAVA 소수 구하기 - 에라토스테네스의 체
소수란, '1과 자기 자신 외의 약수를 가지지 않는 1보다 큰 자연수' 에라토스테네스의 체 란 수학에서 에라토스테네스의 체는 소수를 찾는 방법으로 고대 그리스 수학자 에라토스테네스가 발견하였다.그 방법으로 소수를 구하는 알고리즘 풀이를 하겠습니다.https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 ko.wikipedia...
파보나치 수열 - Java 간단한 풀이
https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98 피보나치 수 - 위키백과, 우리 모두의 백과사전 피보나치 수를 이용한 사각형 채우기 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8 ko.wikipedia.org 파보나치 수열 이란 위키백과에 검색해보면 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항..
문자열 압축 알고리즘 - 자바 .with 주의사항
문제 문자열 압축입니다. QQQLLLLEEWQ 라는 문자가 들어오면 Q3L4E2WQ 라는 결과 값이 나와야 합니다. 소스 코드 import java.util.*; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); String s = sc.next() + " "; String result = ""; int cnt = 1; for(int i=0; i 1){ result += Integer.toString(cnt); } cnt = 1; } } System.out.println(result); } } 해설 문자열 길이 만큼 반복합니다. 문자의 개수를 카운트 하기 위한 변수 cnt를 선언합니다. cnt..