본문 바로가기

알고리즘/문제풀이30

[JAVA]백준 - 1541.잃어버린 괄호 www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 풀이> 첫번째 - 가 나올때 까지는 전부 더한 뒤, -가 나온뒤 괄호를 친다고 생각하면 뒤의 +들은 모두 -로 연산된다! ex) 10 + 20 + 10 - 40 + 20 - 10 + 20 "-" 기준으로 문자열을 나눈다 첫번째 : 10+20+10 전부더함! = 40 두번째 : 40 + 20, 세번째 : 10 + 20 - 가 나온뒤로는 +연산에 전부 괄호를 치면 -로 바뀌기때문에 빼버리면 최솟값이 될 수 있.. 2020. 9. 14.
[JAVA]백준 - 10162.전자레인지 www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 �� www.acmicpc.net 풀이> 5585.거스름돈 문제와 똑같은형식 제일 작은 시간단위인 10으로 딱 떨어지지않으면 연산하지않고 -1출력 입력받은 time을 주어진 버튼의 시간으로 나눠서 몫을 저장 time을 계산한 버튼시간으로 나머지값을 다음 버튼시간으로 나누고 몫을 저장. 반복! import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.I.. 2020. 9. 12.
[JAVA]백준 - 5585.거스름돈 www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사� www.acmicpc.net 풀이 > price=1000-입력받은값; price를 500 으로 나누면 몫인 1만 출력. price % 500 으로 500원단위를 뺀 나머지값을 다음 잔돈으로 나누기. 1엔까지 반복 다른 풀이: 배열에 잔돈을 저장한후 반복문으로 처리 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExcepti.. 2020. 9. 12.
[JAVA]백준 - 14241.슬라임 합치기 www.acmicpc.net/problem/14241 14241번: 슬라임 합치기 영선이와 효빈이는 슬라임을 합치는 게임을 하고 있다. 두 사람은 두 슬라임을 골라서 하나로 합쳐야 한다. 게임은 슬라임이 하나 남았을 때 끝난다. 모든 슬라임은 양수 크기를 가지고 있다. 두 www.acmicpc.net 풀이> 슬라임의 갯수를 입력받고, 입력된 슬라임의 사이즈를 서로 곱해 모두 더해주기 ex) 3 1 2 3 => 1*2 + 1*3 + 2*3 = 11 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputS.. 2020. 9. 10.
[JAVA]백준 - 11399.ATM www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이> 걸리는 시간이 적은순으로 정렬한 후 앞에서부터 시간을 더하고 더한값에 또더하고...반복 ex)5 3 1 4 3 2 Arrays.sort() -> [1 2 3 3 4] 1 + 1+2 + 1+2+3 + 1+2+3+3 + 1+2+3+3+4 =32 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.Inpu.. 2020. 9. 9.
[JAVA]CodeUp - 1084.빛 섞어 색 만들기 풀이> BufferedReader 와 BufferedWriter 클래스를 사용하여 입력, 출력받으면 시간초과 해결 ※앞으로는 빠른 입출력을 위해 두 클래스를 사용하자 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main{ public static void main(String[] args){ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { String .. 2020. 9. 2.