일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 포스코
- 추석트래픽
- 등촌동속눈썹연장
- 삼성SW역량테스트
- 투포인터
- Java
- leetcode
- ai/bigdata
- 마곡속눈썹연장
- 정렬
- 삼성
- 다시보기
- 카카오
- OS
- 리트코드
- level2
- 마곡속눈썹펌
- 시뮬레이션
- BOJ
- 직무면접
- 수학
- 백준
- 등촌동속눈썹펌
- 운영체제
- 삼성 SW역량테스트 기출
- 코딩테스트
- 1차면접
- 딥러닝
- 알고리즘
- 프로그래머스
- Today
- Total
목록알고리즘 (34)
기록하는 습관을 들이자

* CS(Computer Science) 스터디를 진행하며 공부하게 된 내용을 정리한 내용입니다. JVM이란? JVM이란 Java Virtual Machine의 약자로, 자바 가상 머신을 뜻하는 용어이다. JVM의 역할은 자바 프로그램을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행하는 것이다. 일반적인 윈도우 프로그램과 Java 프로그램의 차이 Java가 OS에 상관없이 동작할 수 있도록 중계자 역할을 한다. GC(Garbage Collection)등의 기능을 제공한다. 자바 프로그램 실행 과정 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리 영역을 할당받는다. JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 자바 컴파일러(javac)가 자바 소스코드(..

하반기 채용 공고가 점차 뜨기 시작하면서 코딩테스트를 준비하고 있는 분들이 늘고 있는 것 같아 글을 쓰게 되었습니다. 물론 저도 많이 부족하지만, 상반기 코딩테스트 준비하면서 참 힘들었고, 취준생분들 불안한 마음을 누구보다 잘 알기에,,,, 조금이나마 도움이 될 수 있지 않을까 해서 포스팅 하게 되었습니다. (고수분들 스루해주세요!!....) 일단 코딩테스트에서 자주 출제되는 유형을 정리해보면, 브루트 포스 DFS BFS 시뮬레이션/구현 DP 그리디 이분탐색 투포인터 이정도이다. 그 중에서 가장 많이 출제되는 유형을 꼽아보면, 브루트 포스 DFS BFS 시뮬레이션/구현 DP 그리디 이분탐색 투포인터 해당 유형이다. 그렇기 때문에, 해당 4가지 유형만 깊게 파고 공부하면, 웬만한 코딩테스트 합격선에는 들 ..

(삼성전자 서류 통과해서 코딩테스트 준비를 해야하는데,,,, 다른 기업들 면접이랑 너무 많이 겹쳐서 준비를 많이 못했었다 ㅜㅜ) 2주 남은 지금부터라도 다시 한 번 문제를 열심히 풀어보려고 합니다! 이번 문제는 백준 16236번 아기 상어 문제입니다. 기존의 BFS를 약간 변형해야 하는 문제라 신선하게 다가왔고, 조건이 많아서 까다로운 문제였던 것 같습니다. 문제보기 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가�� www.acmicpc.net 나의 풀이 아기 상..

참고 https://m.blog.naver.com/kks227/220795165570 투 포인터(Two Pointers Algorithm), 슬라이딩 윈도우(Sliding Window) (수정: 2019-09-09) 조금 성향이 비슷하다고 생각하는 기법 2개를 함께 쓰려 합니다.첫 번째로 소개해드릴 기법은 투 포인터(tw... blog.naver.com 투 포인터 알고리즘에 대해 알아보겠습니다. 가끔 브루트 포스로 문제를 풀다보면 N이 큰 경우에는 시간초과가 발생하게 되는데, 그 때 완전 탐색이 아닌 다른 방법으로 어떻게 풀까하다가 알게 된 알고리즘입니다. ★ 완전 탐색 시 시간 초과가 나는 경우 ★ 1. 투 포인터 알고리즘 시도해보기 2. 이분 탐색 시도해보기(binary search) 3. dp(Dy..

시뮬레이션 문제를 풀어보았습니다. 어렵진 않지만 시간초과에 주의해야하는 문제입니다. 문제 설명 후 시간초과 났을 때 제가 주로 시도해보는 방법들도 같이 포스팅해보도록 하겠습니다. 문제보기 https://www.acmicpc.net/problem/5397 5397번: 키로거 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오...

삼성 SW역량테스트 기출 '드래곤 커브' 문제를 풀어보았습니다. 규칙을 찾아서 0~10세대 드래곤 커브 방향을 모두 구해놓고 시작하는 게 중요한 문제입니다. (역시 규칙 찾는 시뮬레이션 문제는 어려워,,,,) 문제보기 https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커브의 시작 점, d는 시작 방향, g는 세대이다. (0 ≤ x, y ≤ 100, 0 ≤ d ≤ 3, 0 ≤ g ≤ 10) 입력으로 주어지는 드래곤 커브는 격자 밖으로 벗어나지 않는다. ..

오늘은 삼성 SW역량테스트 기출 '사다리 조작' 문제를 풀어보았습니다. 백트래킹과 시뮬레이션 관련 문제로 시간 초과에 주의해야하는 문제입니다!! (완전탐색했다가 시간초과로 고생했다,,,) 문제보기 https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선이 같은 위치를 갖는다. 아래 그림은 N = 5, H = 6 인 경우의 그림이고, 가로선은 없다. 초록선은 세로선을 나타내고, 초록선과 점선이 교차하는 점은 가로선을 놓을 수 있는 점이다. 가로선은 인접한 두 세로선을 연결해야 한다..

어렵진 않은 문제이나 실수하기 좋은 시뮬레이션 문제입니다! 틀리면 디버깅하기도 어렵,,,, 문제보기 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누 www.acmicpc.net 나의 풀이 테트로미노 블록을 올..

오늘은 백준 14999 주사위 굴리기 문제를 풀어보았습니다. 별도의 알고리즘이 필요하지 않은 시뮬레이션 문제입니다. 문제보기 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도에 쓰여 있는 수가 북쪽부터 남쪽으로, 각 줄은 서쪽부터 동쪽 순서대로 주어진다. 주사위를 놓은 칸에 쓰여 있는 수는 항상 0이다. 지도의 각 칸에 쓰여 있는 수는 10을 넘지 않는 자연수 또는 0이다. 마 www.acmicpc.net 나..