728x90

SAMSUNG 58

[삼성 전자 PRO] JAVA 정렬 알고리즘

PRO 시험까지 약 3주 정도가 남았는데요.다시 1일 1잔디 실천해 보겠습니닷 🤪 기초 알고리즘 및 자료 구조 기본기 다지기 1탄 ! 정렬 알고리즘 : 버블 정렬, 선택 정렬, 퀵 정렬, 병합 정렬   버블 정렬 💭 두 인접한 데이터의 크기를 비교해 정렬.시간 복잡도 O(n²)public class Main { public static int[] array = new int[5]; public static void main(String[] args) { array = new int[] { 5, 3, 1, 7, 9 }; bubbleSort(array); for (int i = 0; i    선택 정렬 💭데이터에서 최솟(최댓)값을 찾아 선택하고, 선택된 최솟값을 순서대로 바꿔가면서 ..

SAMSUNG 2024.08.29

삼성전자 SW 역량테스트 B형 준비

svp 자기주도학습 겸 앞으로 칠 SW 역량테스트 B형에 대해 미리 정리해놓고자 함 😎   : 1문제를 4시간 동안 푸는 시험: main 함수는 수정할 수 없고 solution 함수만 구현: A형에서는 볼 수 없는 엄청난 사이즈의 제약사항 (1억, 10억…) [ 문제 풀이 순서 ]-> 문제 이해 -> 아이디어 도출 -> 설계(시간복잡도 계산) -> 구현 -> 디버깅 -> 최적화 (중복된 연산, 불필요한 연산 등을 찾아 최적화)  [ 공부해볼만한 키워드 ]Array, Linked List, Bitwise 연산, Greedy, 완전탐색(Brute-Force), BFS, DFS, DP, 분할정복, Sort, Binary Search, Graph, Dijkstra, Tree, LCA, Heap, Trie, K..

SAMSUNG 2024.07.26

[삼성 전자 DX] SW 개발 직무 면접 준비

이 게시물도 저를 위한 게시물이 되지 않을까 싶네요 일정 / 진행 방식 sw 역량 테스트2024. 04. 14 (일)삼성전자 면접 스터디 첫 시작 2024. 04. 16 (화)면접 스터디 1주차 04. 16 (화) ~ 04. 20 (토) - 온라인 (구글 미트) 진행으로 전반적인 스터디 방식 정함- 인성, 직무, 창의성 3개의 면접 준비를 위해 각각 준비해올 것을 정함. (오프라인 스터디 까지 할 것)(공통질문을 각자 조사해서 노션에 적어놓기)1차 오프라인 면접 스터디- 부산 하단역 스타벅스에서 모임[ 오프라인에서 진행한 것 ] 1. 자기소개서 코멘트 템플릿을 사용해서 서로의 자기소개서에 대한 코멘트 달아줌.=> 실제로 스터디원이 나의 자기소개서를 읽고 궁금했던 점에 대한 질문에 임원 면접에 몇개 나왔음..

SAMSUNG 2024.06.01

[삼성 전자 DX] SW 역량 테스트 준비

나중에 제가 참고하기 위해서 기록용으로 작성해볼랍니다 ! 💭 일정 🗓️일자 ~ 2024. 03. 18서류 제출 마감2024. 04. 14sw 역량 테스트 삼성 전자 서류 합격 후 거의 2주일 정도 뒤에 sw 역량 테스트 일정이 있었던 것 같아요 ! 현재 ssafy를 하고 있어서 당시 병행하기에 조금 힘들긴 했는데, 그때 DB관련 내용을 배우고 있어서 조금 익숙하기도 했고, 선택과 집중이 필요한 시기라고 생각했기 때문에 강사님께 따로 양해를 구해서 자습을 진행했습니다 ! 무조건 삼성 sw 역량테스트는 시뮬레이션 + 구현 + BFS/DFS graph 가 나오기 때문에 백준 기출 문제집을 풀이를 했습니다. https://www.acmicpc.net/workbook/view/1152 주로 매일 매일 새로운 문제..

SAMSUNG 2024.06.01

[Java] 그래프 기본 템플릿

DFS package study.blog.codingnojam; public class Study_DFS_Recursion { // 방문처리에 사용 할 배열선언 static boolean[] vistied = new boolean[9]; // 그림예시 그래프의 연결상태를 2차원 배열로 표현 static int[][] graph = {{}, {2,3,8}, {1,6,8}, {1,5}, {5,7}, {3,4,7}, {2}, {4,5}, {1,2}}; public static void main(String[] args) { dfs(1); } static void dfs(int nodeIndex) { // 방문 처리 vistied[nodeIndex] = true; // 방문 노드 출력 System.out.pri..

[백준 20058번] 마법사 상어와 파이어스톰 (Java)

> 자바, 구현, 그래프 이론, 그래프 탐색, 시뮬레이션, 너비 우선 탐색, 깊이 우선 탐색 📖 문제 : 마법사 상어와 파이어스톰 (Java) 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 얼음의 양을 의미한다. A[r][c]가 0인 경우 얼음이 없는 것이다. 파이어스톰을 시전하려면 시전할 때마다 단계 L을 결정해야 한다. 파이어스톰은 먼저 격자를 2L × 2L 크기의 부분 격자로 나눈다. 그 후, 모든 부분 격자를 시계 방향으로 90도 회전시킨다. 이후 얼음이 있는 칸 3개 또는 그 이상과 인접해있지 않은..

[백준 5373번] 큐빙 (Java)

> 자바, 구현, 시뮬레이션 📖 문제 : 큐빙 (Java) 루빅스 큐브는 삼차원 퍼즐이다. 보통 루빅스 큐브는 3×3×3개의 작은 정육면체로 이루어져 있다. 퍼즐을 풀려면 각 면에 있는 아홉 개의 작은 정육면체의 색이 동일해야 한다. 큐브는 각 면을 양방향으로 90도 만큼 돌릴 수 있도록 만들어져 있다. 회전이 마친 이후에는, 다른 면을 돌릴 수 있다. 이렇게 큐브의 서로 다른 면을 돌리다 보면, 색을 섞을 수 있다. 이 문제에서는 루빅스 큐브가 모두 풀린 상태에서 시작한다. 윗 면은 흰색, 아랫 면은 노란색, 앞 면은 빨간색, 뒷 면은 오렌지색, 왼쪽 면은 초록색, 오른쪽 면은 파란색이다. 루빅스 큐브를 돌린 방법이 순서대로 주어진다. 이때, 모두 돌린 다음에 가장 윗 면의 색상을 구하는 프로그램을 작..

[SWEA 1861번] D4 - 정사각형 방 (Python)

> 파이썬 📖 문제 : D4 - 정사각형 방 (Python) N2개의 방이 N×N형태로 늘어서 있다. 위에서 i번째 줄의 왼쪽에서 j번째 방에는 1이상 N2 이하의 수 Ai,j가 적혀 있으며, 이 숫자는 모든 방에 대해 서로 다르다. 당신이 어떤 방에 있다면, 상하좌우에 있는 다른 방으로 이동할 수 있다. 물론 이동하려는 방이 존재해야 하고, 이동하려는 방에 적힌 숫자가 현재 방에 적힌 숫자보다 정확히 1 더 커야 한다. 처음 어떤 수가 적힌 방에서 있어야 가장 많은 개수의 방을 이동할 수 있는지 구하는 프로그램을 작성하라. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 하나의 정수 N (1 ≤ N ≤ 103)이 주어진다. 다음 N개의 줄에는 i번째 줄에는..

[SWEA 1218번] D4 - 괄호 짝짓기 (Python)

> 파이썬 📖 문제 : D4 - 괄호 짝짓기 (Python) 4 종류의 괄호문자들 '()', '[]', '{}', '' 로 이루어진 문자열이 주어진다. 이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다. 예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다. 아래와 같은 문자열은 유효하지 않은 문자열이다. 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문이다. 아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지 않는 괄호가 사용 되었기 때문에 유효하지 않다. [입력] 각 테스트 케이스의 첫 번째 줄에는 테스트케이스의 길이가 주어지며, 바로 다음 줄에 테스트 케이스가 주어진다. 총 10개의 테스트케이스가 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고..

[SWEA 2819번] D4 - 격자판의 숫자 이어 붙이기 (Python)

> 파이썬 📖 문제 : D4 - 격자판의 숫자 이어 붙이기 (Python) 4×4 크기의 격자판이 있다. 격자판의 각 격자칸에는 0부터 9 사이의 숫자가 적혀 있다. 격자판의 임의의 위치에서 시작해서, 동서남북 네 방향으로 인접한 격자로 총 여섯 번 이동하면서, 각 칸에 적혀있는 숫자를 차례대로 이어 붙이면 7자리의 수가 된다. 이동을 할 때에는 한 번 거쳤던 격자칸을 다시 거쳐도 되며, 0으로 시작하는 0102001과 같은 수를 만들 수도 있다. 단, 격자판을 벗어나는 이동은 가능하지 않다고 가정한다. 격자판이 주어졌을 때, 만들 수 있는 서로 다른 일곱 자리 수들의 개수를 구하는 프로그램을 작성하시오. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스마다 4개의 줄에 걸쳐서..

728x90