구현
-
[JAVA] 백준 16638 괄호 추가하기 2카테고리 없음 2021. 11. 16. 20:48
https://www.acmicpc.net/problem/16638 16638번: 괄호 추가하기 2 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net 괄호 추가하기 문제와 다른 것은 연산자들의 우선순위가 생겼다는 점! 이전 문제에서는 바로바로 값을 구해서 넘겨주었지만, 이번 문제에서는 괄호를 넣어준 스트링을 구하고 그 스트링을 후위표기법으로 바꾸면서 계산하는 방법으로 하였다 주어지는 식에 괄호를 추가하는 식의 String 연산을 진행하기 때문에 StringBuilder를 이용했다. 살짝 후위표기법으로 변환하는 코드가 마음에 ..
-
[JAVA] 백준 15684 사다리 조작알고리즘 공부/문제 풀이 2021. 10. 27. 12:10
https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 풀이 후기 - 인덱스 처리가 힘들었다. 원래는 사다리 크기에 딱 맞는 배열을 생성하여 범위 체크해가며 풀이했는데 코드가 복잡해져서 좌우로 마진을 한칸씩 주고, 범위 체크 없이 좌우에 사다리가 있는지 없는지를 확인했다 - 나는 boolean 배열로 해당 칸에 사다리가 있다 없다를 체크했는데, 다른 코드를 보니 오른쪽으로 뻗은 사다리는 1로 왼쪽으로 뻗은 사다리는 -1로 한 코드가 많았다. 더 직관..
-
[JAVA] 백준 21610 마법사 상어와 비바라기알고리즘 공부/문제 풀이 2021. 10. 26. 20:19
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static class Pos{ int row, col; public Pos(int r, int c){ row = r; col = c; } } public static void main(String[] args) throws Exception { BufferedReader b..
-
[JAVA] 백준 17140 이차원 배열과 연산알고리즘 공부/문제 풀이 2021. 10. 16. 14:08
https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net import java.util.*; public class Main { public static class Node implements Comparable{ int val; int cnt; public Node(int v, int c){ val = v; cnt = c; } public int compareTo(Node o){ if(cnt==o.cnt) return val-o.val; ..
-
[JAVA] SWEA 4014 활주로 건설알고리즘 공부/문제 풀이 2021. 10. 6. 17:03
문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 설명은 링크를 이용해주세요. import java.util.*; import java.io.*; public class Solution { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int t=1; t
-
[JAVA] 백준 13460 구슬 탈출 2알고리즘 공부/문제 풀이 2021. 9. 17. 14:46
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 풀이 해결 전략은 문제를 풀며 적은 내용으로 실제 작성한 코드와 상이할 수 있습니다. 변경된 부분은 왜 변경했는지 풀이 후기에 적어 놓았으니 참고 바랍니다! 코드 import java.util.*; public class Main { static int N, M; static char[][] map; static int[][] d = {{-1, 1..