본문 바로가기
728x90
반응형

전체 글190

[JAVA] 배열 전체 출력 가끔 PS나 프로그래밍을 하다보면 배열의 내용을 전체 출력해서 확인하고 싶을 때가 있습니다. 그러나 String[] str = {"5","6","7","8"}; System.out.println(str); 이런식으로 출력하게 되면 이상한 문자들만 출력이 될겁니다. 항상 for문으로 for(int i = 0; i < str.length; i++) { System.out.print(str[i]); } 이런식으로 출력하자니.. 번거롭고(이거치다가 타자속도 빨라진...) 그러다가 간단하게 확인이 가능한 방법을 알게되었습니다. String[] str = {"5","6","7","8"}; System.out.println(Arrays.toString(str)); 이런식으로 하게 될 경우 str 배열에 있는 내용이 .. 2021. 7. 31.
[백준] 15926번 : 현욱은 괄호왕이야!!(JAVA) https://www.acmicpc.net/problem/15926 15926번: 현욱은 괄호왕이야!! 첫 번째 입출력에서, 맨 처음 위치부터 4개를 잘라낸 (())가 가장 긴 올바른 괄호 문자열이다. 두 번째 입출력에서, 6번째 위치부터 8개를 잘라낸 ()((()))가 가장 긴 올바른 괄호 문자열이다. www.acmicpc.net 풀이 괄호를 입력받고 그 괄호 중 올바른 괄호의 최대 길이를 출력해주는 문제입니다. ex) () -> 2 ()(()) -> 6 (())) -> 4 stack에 처음에는 아무것도 없으므로 -1을 넣은 상태로 시작합니다. (이 들어오면 (의 위치를 스택에 넣어줍니다. )이 들어오면 (을 꺼내고 스택이 비어있지 않으면 answer과 현재위치 - stack에 있는 수 중 큰 값을 a.. 2021. 7. 30.
[백준] 4889번 : 안정적인 문자열(JAVA) https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net 풀이 "-"가 포함한 문자가 나오기 전까지 입력받은 괄호들이 올바른 괄호가 될때까지의 최소의 돌리는 시간을 구하는 문제입니다. ex) {{ --> {} 1번 }{}{ --> {{}} 2번 }}{{ --> {}{} 2번 입력받은 문자를 1글자씩 비교하면서 진행하시면 됩니다. {가 들어왔을 경우에는 stack에 넣어주고, }이 들어왔을 경우 stack이 비어있으면 stack에 {를 넣어주고 값을 .. 2021. 7. 30.
[백준] 12107번 : 약수 지우기 게임1(JAVA) https://www.acmicpc.net/problem/12107 12107번: 약수 지우기 게임 1 N=4인 경우, A는 처음에 4,2,1을 지운다. 칠판에 남은 수는 3으로, B는 3을 지울 수밖에 없어 패배한다. www.acmicpc.net 풀이 규칙을 찾으면 아주 간단하게 풀 수 있는 문제이다. EX) 1일경우 B 승 2일 경우 1 / 2 A승 3일경우 1, 3 / 2 A승 4일 경우 1, 2, 4 / 3 A승 어떻게 하든 1인 경우를 제외하고 A가 승리하게 된다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public stati.. 2021. 7. 29.
[백준] 1918번 : 후위 표기식(JAVA) https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net 풀이 주어진 예제와 같이 이런 방식으로 계산식을 뒤에 써주면 되는 문제입니다. "표기식은 알파벳 대문자와 +, -, *, /, (, )로만 이루어져 있으며, 길이는 100을 넘지 않는다. " "("가 나올 시 ")"가 나오면 "("가 있는 부분까지 전부 출력해주면 됩니다. 사칙연산의 우선순위느 *, / > +, - 입니다. 스택을 이용해서 다음과 같이 풀어주면 됩니다. 소스코드 impor.. 2021. 7. 27.
[백준] 21176번 : Smoothie Stand(JAVA) https://www.acmicpc.net/problem/21176 21176번: Smoothie Stand The first line contains two integers $k$ and $r$, separated by a space. The value $k$ is the number of different ingredients Olivia uses in her smoothies and $r$ is the number of different recipes she makes. You may assume $1 \le k \le 100\,000$, $1 www.acmicpc.net 풀이 K(재료 갯수), R(레시피 갯수)를 입력받습니다. 첫줄은 소유하고 있는 재료의 갯수들, 다음줄부터 레시피에 필요한 재료의.. 2021. 7. 26.
[백준] 21312번 : 홀짝 칵테일(JAVA) https://www.acmicpc.net/problem/21312 21312번: 홀짝 칵테일 정진이는 특별한 음료를 가지고 있다. 음료들은 정수로 표현되는 고유 번호를 가지고 있다. 정진이는 이 음료들을 섞어 만든 칵테일을 만든다. 이 칵테일은 홀짝 칵테일이라 부르는데, 홀짝 칵 www.acmicpc.net 풀이 최종적으로 값이 홀수가 나와야한다. 그러나 홀수가 나올 수 없는 경우는 짝수중 가장 큰 값을 출력해주면 되는 문제이다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { pu.. 2021. 7. 25.
[백준] 21603번 : K 2K 게임(JAVA) https://www.acmicpc.net/problem/21603 21603번: K 2K 게임 싸이컴에서는 신입생의 집중력을 테스트하기 위해 아래와 같은 간단한 게임을 개발했습니다. 두 정수 $N$과 $K$가 주어집니다. 자연수 $x$에 대해 $f(x)$를 $x$의 일의 자리 수라고 할 때, $f(x) \neq f(K) www.acmicpc.net 풀이 1부터 n까지 반복하면서 k % 10 이랑 2 * k % 10이랑 % 10 한 값이 다를 경우 ArrayList에 넣어준다. ArrayList의 크기를 출력 후 안에 내용들을 출력해주면 됩니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea.. 2021. 7. 25.
[백준] 21567번 : 숫자의 개수 2(JAVA) https://www.acmicpc.net/problem/21567 21567번: 숫자의 개수 2 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 1,000,000보다 작은 자연수이다. www.acmicpc.net 풀이 3개의 수의 곱을 한 후 포함되어있는 수의 갯수를 구하는 문제이다. 범위가 곱할경우 커져 BigInteger를 사용하면 된다. 곱한 수를 10으로 나누면서 나머지에 해당하는 배열의 위치를 더해줘 마지막에 출력해주면된다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; public .. 2021. 7. 25.
728x90
반응형