전체 글(11)
-
SSAFY 1학기를 회고하며 (feat. 갤럭시 워치)
안녕하세요! 이번에 SSAFY 12기 서울 임베디드반 1학기를 마무리하면서 글을 써볼까 합니다. 저는 SSAFY 12기를 1학기까지만 이수하고 취업으로 중도 퇴소하게 되었는데요. 열심히 노력한 보상으로 갤럭시 워치7 LTE 모델이라는 멋진 상품을 선물 받으면서 이렇게 게시글을 쓰게 되었습니다!1학기 구성: 알고리즘, WEB, 임베디드, 관통 프로젝트SSAFY 1학기는 크게 알고리즘, WEB, 임베디드, 관통 프로젝트로 구성되어 있습니다. 각 파트마다 얻은 배움과 경험을 정리해 보겠습니다.알고리즘알고리즘 수업은 1학기 초반에 진행되며, 코딩테스트 준비에 최적화된 내용으로 구성됩니다. 저는 이 수업 덕분에 여러 기업의 서류를 통과한 후 진행되는 코딩테스트를 대비할 수 있었습니다. 특히 문제 해결 능력을 체계..
2025.01.20 -
[코드트리 조별과제][삼성 기출] 2개의 사탕
[코드트리][삼성 기출] 2개의 사탕문제 링크 풀이삼성 기출 문제입니다. 시도 횟수가 최대 10번이고 보드 크기도 크지 않기에 완전탐색 + 구현으로 풀이하였습니다.4가지 방향으로 모두 돌리는 경우의 수는 최대 10번일 경우 4^10 이므로 1,048,576가 됩니다.때문에 대략 1초가 걸리므로 규칙을 잘 숙지해서 그대로 구현합니다.다만 규칙이 조금 복잡해서 경우를 나누느 것이 조금 어려웠습니다.코드#includeconstexpr int MAX = 10;char board[MAX][MAX];struct State { int rx, ry, bx, by, turn;};struct Node{ State state; Node* next;} nodes[0x7fffff];int node_count =..
2024.08.18 -
[코드트리 조별과제][삼성 기출] 방화벽 설치하기
[코드트리][삼성 기출] 방화벽 설치하기문제 링크 풀이삼성 기출 문제입니다.3개의 방화벽을 새로 설치하였을 때 가장 많이 불이 옮겨 붙지 않게끔 하는 문제입니다.저는 불이 퍼지는 것은 BFS, 3개의 방화벽 위치는 완전탐색으로 접근하였습니다.완전탐색의 경우 보드의 크기가 크지 않아 가능할 것이라 판단하였습니다.3개의 위치를 좀 더 원할하게 고르기 위해서 1차원 배열로 표현하였습니다. 그러면 순차적으로 접근할 수 있어 편하게 3개를 고를 수 있습니다.코드#include#include#includeconstexpr int FIRE = 2;constexpr int FIREWALL = 1;constexpr int VOID = 0;int n, m;int ans;int BOARD[8 * 8 + 1];int TMPB..
2024.08.11 -
[코드트리 조별과제][삼성 기출] 정육면체 굴리기
[코드트리][삼성 기출] 정육면체 굴리기문제 링크 풀이삼성 기출 문제입니다. 구현 및 시뮬레이션 문제입니다.주사위를 굴리는 것이 난해한데, 각 면을 배열로 두고 숫자들을 옮긴다고 생각하면 편합니다.dice[6] 배열이 있다고 가정합시다. 그리고 dice[0]을 바닥면으로 생각합니다.주사위가 구르면 옆면이 바닥면이 되고 바닥면은 옆면이 됩니다. 그런데 여기서 면이 움직이는것이 아니라 숫자가 움직인다고 생각해봅니다. 즉, 주사위는 실제로 구른게 아니고 면의 숫자들을떼었다 옮겨 붙이는 방식입니다. 그러면 dice[0]의 숫자를 다른 dice[1]에 옮기는 것은 밑바닥에 있던 숫자가 옆면으로 옮기는 것과 같습니다. 반대로 dice[1]의 숫자를 dice[0]으로 옮기면 마치 dice[1]이 아랫면이 된 것과 동..
2024.08.04 -
[코드트리 조별과제][삼성 기출] 연산자 배치하기
[코드트리][삼성 기출] 연산자 배치하기문제 링크풀이삼성 기출 문제입니다. 백트래킹 문제이나 요구 조건을 명확하게 구현하면 문제가 풀립니다.기본적으로는 모든 +,-,*가 포함된 수식을 완전탐색하는 것으로 시작합니다.대신 연산자마다 사용가능한 개수가 포함되어 있습니다.떄문에 사용할 떄마다 여부를 체크하고 최종적으로 수식이 완성될 때(즉, 최대 깊이까지 탐색했을 때) 그 값을 구하고 최대값,최솟값을 판별합니다.코드#includeusing int64 = long long;constexpr int64 INF = 0xFFFFFFFFFFFFFF;constexpr int64 MAX_N = 11;constexpr int64 MAX_OP_COUNT = 3;int64 num[MAX_N];int64 op[MAX_OP_COU..
2024.07.26 -
[코드트리 조별과제] [실버2] 가장 큰 증가 부분 수열
[코드트리][실버 2] 가장 큰 증가 부분 수열 https://www.codetree.ai/training-field/search/problems/largest-increasing-subsequence?&utm_source=clipboard&utm_medium=text풀이최장 증가 부분 수열 의 응용 문제최장 증가 부분 수열과 거의 유사하나 길이가 아닌 합을 기준으로 세우면 된다.최장 증가 부분 수열은 O(N2)과 이분탐색을 응용하는 O(N log N)의 2가지 방식이 존재하는데 우선 O(N2)로만 풀이하였다. 이분탐색은 구간합을 구하는 방법 때문에 보류하였다. 이후 방법을 찾게 되면 수정할 예정이다. O(N2)의 경우에도 주의할 점이 있는데 길이가 가장 긴 수열이 합이 가장 큰 값인 것 아니기 때문..
2024.07.20