본문 바로가기

반응형

분류 전체보기

(89)
소프트웨어 마에스트로 11기 모의 코딩테스트 후기 소마 11기 서류합격을 한 후 소마 모의 코딩 테스트를 치러보았습니다. 모의테스트는 goorm(구름ide)에서 진행되었고 본시험도 구름에서 진행될 계획이라고 합니다. 문제는 알고리즘 1문제, SQL 1문제, 웹프로그래밍 1문제가 출제되었습니다. 저는 java외의 언어를 사용해 본 경험이 없고 알고리즘 문제만 출제되는 것으로 알고 있었어서 문제를 처음 보고 매우 당황했습니다. 매우 간단한 문제라고 생각했지만 sql, java script 언어 사용에 익숙하지 않아서 이것저것 찾아보며 두 문제를 푸는데 6시간 정도가 걸린 것 같습니다. 어느 정도 SQL, java script에 대해 감을 잡았긴 했지만 다른 문제가 주어지면 풀 수 있을지는 의문입니다. 모의테스트라 그런지 알고리즘 문제는 별로 어렵지 않았고,..
java - 백준 알고리즘 - 15683 감시 이 문제는 N과 M의 크기, 감시카메라의 수가 최대 8개, 방향이 4개 밖에 없어 경우의 수가 크지 않을 것이라 생각하여 모든 경우의 수를 고려하는 브루트포스를 사용해서 풀었다. 문제를 푸는 생각의 과정은 이러하다. 1. 입력(arr배열)을 받으면서 카메라의 종류, 카메라의 x좌표, y좌표를 저장함. ( 인덱스 = 0~7 ) 2. 카메라의 종류, 위치 ,방향에 따라 배열의 값을 바꾸는 함수를 구현 ( 감시받고 있는 공간을 7로 저장함 ) 3. 1번에서 지정한 index에 따라 direction[ index ] 값을 바꾸어 방향으로 사용하였다. 4. 카메라가 3대 일 경우 direction[] 배열의 초기 상태는 { 1, 1, 0 } 이고 { 1, 1, 1 } -> { 1, 1, 2 } -> { 1, 1,..
코딩테스트를 위한 자바(java) 2차원 배열 입력받기 - 4 bfs, dfs 등의 문제를 풀다보면 2차원 배열형태로 입력을 받아야 할 경우가 자주 있다. 미로탈출과 같이 x, y 좌표를 사용하는 문제가 대표적이다. 입력이 공백없이 주어졌을때 편하게 입력 받을 수 있는 방법을 알게되어 공유하려고 한다. int형은 4바이트, char형은 2바이트를 사용하므로 공간복잡도상에서 이득을 얻을 수도 있다. 입력 : 7 8 a#c#eF.1 .#.#.#.. .#B#D### 0....F.1 C#E#A### .#.#.#.. d#f#bF.1 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class P1194 { static int N, M; static..
java - 백준 알고리즘 - 7569 토마토 https://www.acmicpc.net/problem/7569 이 문제는 https://www.acmicpc.net/problem/7576 이 문제와 유사한 문제이다. -> 풀이 : https://ckdgus.tistory.com/32 배열이 3차원으로 주어지는데 7576 문제에서 입력을 받는 것을 주의 한 후 변수, Queue, 배열을 3차원으로 바꿔주고 몇 줄만 추가해주면 정답을 얻을 수 있다. 코드를 보고 이해가 안된다면 7576 토마토 문제를 다시 풀어보는 것을 추천한다. 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 ..
java - 백준 알고리즘 - 7576 토마토 https://www.acmicpc.net/problem/7576 이 문제는 최소 날짜를 출력하는 문제이므로 bfs로 문제를 풀 수 있다. 기본적인 아이디어는 bfs를 이용하고, bfs를 시작하기 전 queue에 익은 토마토 좌표를 모두 넣는 방식을 사용했다. 토마토가 모두 익었는지 확인 하는 방법은 count 변수에 N*M을 넣고 arr 배열이 -1이거나 1일 때 , 0에서 1로 바뀔 때마다 -1을 해주었다. 자세한 설명은 코드에서 주석을 참고하면 좋을 것 같다. 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있..
[코딩테스트][알고리즘] 6. BFS (Breadth First Search) 너비 우선 탐색 BFS 역시 DFS와 마찬가지로 코딩 테스트에 자주 나오는 유형이다. BFS는 아래 그림과 같이 진행되는 탐색 알고리즘이다. 시작점으로부터 같은 이동거리에 있는 점들 순차적으로 탐색하는 방법이고, 동심원을 그리며 탐색을 하는 것으로 생각할 수도 있다. 시작점으로부터 이동거리 순으로 탐색을 하기 때문에 최단경로를 구하는데 유용하게 사용된다. BFS는 자료구조 Queue를 사용해서 구현할 수 있다. 코딩 테스트를 위한 BFS는 미로와 같이 x, y 좌표를 이용하는 문제에 자주 사용되는 것 같다고 생각되어 미로 문제를 통해 BFS를 어떻게 코드로 표현하는지 알아보려고 한다. bfs의 구현을 말로 설명하자면 다음과 같이 진행된다. 1. 탐색할 위치의 좌표를 queue에 넣고 방문처리 한다. 2. queue에서 ..
java - 백준 알고리즘 - 1012 유기농 배추 https://www.acmicpc.net/problem/1012 이 문제는 dfs 혹은 bfs를 사용해서 풀 수 있는 문제이다. 이 문제와 매우 비슷한 문제인데 입력값의 형식이 조금 다르다. https://www.acmicpc.net/problem/2667 단지번호붙이기 해설 : https://ckdgus.tistory.com/26 코드를 봐도 이해가 잘 안된다면 단지번호붙이기 문제의 해설을 보고와서 다시 보면 이해하는데 도움이 될 것이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { s..
sw마에스트로 11기 서류 합격 후기 + 자기소개서 작성법 최근에 sw마에스트로 코딩 테스트를 위해서 많은 시간을 알고리즘 공부에 보내고 있습니다. 소마 설명회에서 듣은 바로는 서류는 지원요건을 확인하는 정도로 사용된다고 하여 마음 편하게 작성했지만 혹시나 떨어질 수 도 있지 않을까라는 생각을 하기도 했는데 다행히도 서류전형에 합격 했습니다! 코로나의 영향으로 코딩 테스트를 온라인, 오프라인 2번 보게 되어 걱정이 되지만 열심히 준비하고 있는 만큼 좋은 결과 있을 거라고 기대하고 있습니다! 저는 비전공자이고 남들에 비해 뛰어난 실력을 가진 것도 아니고, 수상경력이 있다거나 다양한 대외활동, 프로젝트 경험이 있는 것도 아닙니다. 그래서인지 서류 전형 작성 중 가장 막막하고 부담스럽게 느껴졌던 항목이 자기소개서였습니다. 제가 자기소개서를 많이 써봤거나, 글을 엄청 ..

반응형