![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/kybRd/btrfbmBRHeH/dFEHb8evOpRHQ3xMyKCSN1/img.png)
https://programmers.co.kr/learn/courses/30/lessons/86052?language=java 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr 해설 보고 풀긴 풀었는데 어떤 경우를 순환이라고 하는 건지 완전히 이해가 안간다.. 일단 회전하는거랑 3중 배열 처리 하는거 연습한다는 생각으로 풀었는데 다시 풀어봐야겠다.. while문을 돌면서 시작 위치, 시작 방향으로 돌아오지 못해도 어쨌든 방문 했던 위치/방향으로 돌아오면 순환이라 보는 건지 순환 길이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/diOnXC/btre5Oq0fEf/pKk5yvJ3CYjUdBpsstk5s0/img.png)
https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net ✔ 문제 조건 행 R 1초부터 2초까지 폭탄을 설치하기 때문에, 2초부터 모든 칸에 폭탄이 있다고 풀어야 한다. (이 부분을 이해 못해서 한참을 못풀었다;;) 1초가 지난 후 (3초부터) 3초 전에 설치된 폭탄이 모두 폭발한다. 폭발하면서 4방향으로 인접한 폭탄들을 폭발시킨다. 3, 4번을 반복한다. ✔ 접근 과정 char형의 2차원 배열을 int형으로 바꾸어 저장한다. 빈칸은 -1로, 초기에 설치된 폭탄은 0초에..
List는 중복이 허용되고 add된 순서가 지켜지지만 Set는 기본적으로 중복이 허용되지 않고 순서가 없다. HashSet : 중복x 순서x, add한 순서가 지켜지지 않는다. TreeSet : 중복x, 사전순 순서가 지켜진다. LinkedHashSet: 중복x, add한 순서가 지켜진다. 관련문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr
char to String 변환 : Character.toString(ch); String 대문자 변환 : str.toUpperCase() char 대문자 변환 : (char) ('b' + ('A'-'a')) 소문자가 대문자보다 아스키값이 크다. 순서가 더 뒤기 때문이다. str.substring(beginindex, endindex) subString()이 아니다! substring(beginindex, 개수) 가 아니다!!!! 개수로 뽑아내려면 substring(beginindex, beginindex+개수) 문자열 치환 replace: 바뀌고 싶은 문자열 치환 replaceAll: 정규식 가능-> 특수문자 치환 어려움 replaceFirst: 치환할 문자열에 처음 해당하는 부분만 바꿔줌
관련 문제 -> 메뉴 리뉴얼 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr import java.util.*; public class Main { public static void main(String[] args) { // 1.List 내의 최대값을 찾아주는 함수 List list = new ArrayList(); list.add(1); list.add(133); list.add(22); System.out.println(Collections.max(list)); // 2. 해시맵의 keySet(), val..
관련 문제 -> 가장큰수 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr import java.util.*; class Solution { public static void main(String[] args) { // 1. Integer형 compare(작은 수, 큰 수) -> 음수 System.out.println(Integer.compare(1, 10)); // -1 System.out.println(Integer.compare(10, 10)..