전체 글

전체 글

    [Java/자바 백준 16954] 움직이는 미로 탈출

    풀이 8X8 맵에서 캐릭터는 인접한 곳 8방향 탐색과 제자리에 위치할 수 있습니다. 턴마다 캐릭터가 먼저 이동하고 난 뒤, 벽들이 아래로 떨어집니다. 저는 dfs로 진행하면서 1. 8방향 탐색으로 빈칸(.)의 위치를 찾고 2. 빈칸 위치 바로 위가 벽(#)이라면 continue 3. dfs로 진행하므로 다른 방향 탐색할 때 영향을 주면 안되므로 값을 copy했습니다. copy 과정에서 시간을 줄이기 위해서 flag를 사용해서 true면 리턴시켰고 벽이 아래로 떨어지게 되면 빈칸이 맨 윗줄에 생기므로 캐릭터가 row = 0 에 도달하게되면 flag = true 로 처리했습니다. import java.io.*; import java.util.*; public class Main { static char[][..

    [Java/자바 백준 1976] 여행가자

    풀이 유니온 파인드 문제 문제 핵심은 연결되었는지에 대해 물어보는 문제 매개체 도시가 있어서 1 - 3 도시가 서로 연결 되어있지 않아도 1 - 2 - 3 이 연결 되었으면 연결된 것 ! parents 배열을 만들어주고 먼저 자기 자신을 부모로 갖게 설정한 뒤, 입력을 받으면서 1인 경우(연결된 경우)에 한해서 유니온 파인드를 적용해주었습니다. 연결된 경우 이므로 a, b 둘중 인덱스가 큰 숫자를 작은 인덱스에 자식으로 갖게 만들어주었습니다. ex) union (0, 4) 일경우 이 상태에서 union (2,4)가 들어온다면 aRoot = 2 이지만 bRoot는 4 -> 0 이므로 bRoot = 0이 됩니다. 그렇다면 parents 배열은 이런식으로 바뀌겠죠 ! 유니온 파인드를 모두 적용 시킨 후, 정해..

    [Java/자바 백준 17406] 배열돌리기 4

    풀이 연산 수행 순서에 따라 최솟값이 변하므로 순열을 사용했습니다. 순열 뒤, 배열을 돌려줘야하는 배열 돌리기 구현 부분이 조금 헷갈린 문제 배열 돌리는 함수는 재귀로 구현했으며, 시작 x, 시작 y, 끝 x, 끝y 를 구해주고 시작 + 1과 끝 - 1 함수를 돌리면서 둘 값이 같아지면 min값을 구하는 식으로 구현했습니다. 또한 배열을 돌릴때, 네 부분으로 나누어서 구현했습니다. (시작 x, 시작 y) ~ (시작 x, 끝y) 오른쪽으로 배열 당기기 (시작 x, 끝 y) ~ (끝 x, 끝y) 아래쪽으로 배열 당기기 (끝 x, 끝 y) ~ (끝 x, 시작y) 왼쪽으로 배열 당기기 (끝 x, 시작 y) ~ (시작 x, 시작y) 위쪽으로 배열 당기기 이런 식으로 구현하고 각자 모서리 부분은 따로 저장해주었는데..

    [Java 백준 16637] 괄호 추가하기

    풀이 괄호가 중복된 것을 허용하지 않고, 연산자 우선순위가 동일하므로 왼쪽부터 계산하는 문제입니다. 연산자와 숫자를 나누어 담고 dfs를 활용해서, 케이스를 인덱스 기반으로 1. 괄호를 안친것으로 계산 과정 2. 괄호를 친것으로 계산 과정 두가지로 나누어서 진행했습니다. 첫번째 경우는 index, index + 1 를 연산과정을 하고 다음 dfs 두번째 경우는 index + 1, index +2를 먼저 연산하고, 지금까지 계산한 것과 다시 또 연산하고 다다음 dfs import java.io.*; import java.util.*; public class Main { static int N, max=Integer.MIN_VALUE; static ArrayList number = new ArrayList(..

    Java Stream 정리글

    왜 사용할까 자바 8부터 람다를 활용하여 함수형 프로그래밍이 가능해졌다. 컬렉션에 존재하던 엘리먼트들을 순회하면서 처리할 수 있는 패턴이다. 장점은 람다식과 함께 사용되어 데이터에 대한 처리를 간결하게 표현하여 코드양을 줄고 가독성이 좋아진다. 람다(lambda)란? 람다의 핵심은 (파라미터) -> {수행할 코드} 를 통해 메소드를 정의하지 않고도 메소드처럼 사용할 수 있다는 것인데 메소드와 같은 기능이지만 정의하지 않고도 사용하는 것이 람다의 핵심이 되겠다 Collection 과 Stream의 차이점은 데이터 계산 시점 ! Collection 모든 값을 메모리에 저장하는 자료구조다. 따라서 Collection에 추가하기 전에 미리 계산이 완료되어있어야 한다. 외부 반복을 통해 사용자가 직접 반복 작업을..

    자바의 데이터 타입(Primitive type, Reference type)

    자바에서 크게 기본형(Primitive Type), 참조형(Reference type) 두가지 타입으로 나뉜다. Java Data Type ㄴ Primitive Type ㄴ Boolean Type(boolean) ㄴ Numeric Type ㄴ Integral Type ㄴ Integer Type(byte, short, int, long) ㄴ Floating Point Type(float, double) ㄴ Character Type(char) ㄴ Reference Type ㄴ Class Type ㄴ Interface Type ㄴ Array Type ㄴ Enum Type ㄴ etc. Primitive Type(기본형) JAVA에서는 총 8가지의 Primitive type을 미리 정의하고 제공합니다. 자바에서..

    Java 컴파일 과정

    들어가기전 면접에서 자주 나오는 컴파일 과정 공부 ! 자바는 OS에 독립적인 특징을 가지고 있다. 그게 가능한 이유는 JVM(Java Vitual Machine) 덕분이다. 그렇다면 JVM(Java Vitual Machine)의 어떠한 기능 때문에, OS에 독립적으로 실행시킬 수 있는지 자바 컴파일 과정을 통해 알아보도록 하자. 자바 컴파일 순서 개발자가 자바 소스코드(.java)를 작성합니다. 자바 컴파일러(Java Compiler)가 자바 소스파일을 컴파일합니다. 이때 나오는 파일은 자바 바이트 코드(.class)파일로 아직 컴퓨터가 읽을 수 없는 자바 가상 머신이 이해할 수 있는 코드입니다. 바이트 코드의 각 명령어는 1바이트 크기의 Opcode와 추가 피연산자로 이루어져 있습니다. 컴파일된 바이트..

    [Java/자바 백준 17281] 공

    풀이 순열 + 구현 문제인거같다. 순열 과정에서 4번째 타자가 1번 선수라는걸 인지하고 백트래킹 시켜줘야하는 문제 ! 안시켜주면 시간초과난다... 타자들 순서를 나열하고, 순서대로 게임을 진행하면 되는 문제 처음에 점수 계산 중 1루, 2루, 3루 배열에 넣어서 계산했는데 (이렇게 풀어도 시간 초과 안난다) 다른 답안 참고 중 해당 이닝에서 뒤에서부터 다른 합을 구해 4를 넘게 되면 앞에있는 타자들은 모두 득점으로 계산가능하단걸 보고 참고했다. import java.io.*; import java.util.*; public class Main { static int N, max, temp; static boolean[] isSelected; static int[][] order; static int[] ..

    [Java/자바 백준 17070] 파이프 옮기기1

    풀이 문제를 잘 못 읽어서 2~3시간 날린 문제 ㅜㅜ 그림을 봤을때 파이프 2개가 붙어서 이동하는 줄 알고 그거에 대해서 초점을 맞추고 풀이를 했는데 왜 안될까 하다가 파이프 1개만 이동하는것이네용 ! 삽질을 좀 오래했지만, 문제를 잘 보자는 교훈을 얻었다... 문제 자체는 어렵지 않습니다. 재귀를 이용해서 방향별로 나아갈 수 있는 방향을 잡고, 만약 대각선으로 이동한다면 그 주변 위치 탐색해서 1 이 없으면 전진 가능하며 해당 위치 도달하면 +1 씩 해줍니다. import java.io.*; import java.util.*; public class Main { static int N, answer; static int[][] map; // 동 남 동남 static int[] dx = {0,1,1}; ..

    취준 - 영차영차

    취준 일지 내가 썼던 기업들 목록 더보기 2021 상반기 삼성 SDS - 서류 탈 네이버 부스트캠프 - 코테 탈 싸피 - 서류 합 - 인적성 합 - 면접 합 하반기 삼성전자 - 서류 합 - 코테 탈 다우기술 - 서류 합 - 코테 합 - 1차 면접 합 - 인턴 탈락 2022 상반기 티맥스 소프트 - 서류 탈 코오롱베니트 - 서류 탈 엔테크 서비스 - 서류 합 - 코테 합 - 1차 면접 합 - 2차 면접 탈 신세계 인터내셔날 - 서류 합 - 코테 합 - 1차 면접 탈 현대 엔지비 - 서류 합 - 코테 합 - 1차 면접 합 - 2차 면접 탈 롯데정보통신 - 서류 합 - 인성검사 탈 ( 까먹고 안침 ) SK 하이닉스 - 서류 탈 한화시스템ICT - 서류 합 - 코테 탈 SK ICT Familly - 1차 코테 ..