목록분류 전체보기 (122)
tony9402
오랜만에 코테를 볼 겸 2023 토스 NEXT 서버 직군을 신청하여 봤다. 거의 모든 문제에 지문 이슈, 데이터 이슈가 있어서 그냥 어떤 문제들이 있었는지 정리하겠다. 1번 : 완전탐색 다른 분들의 얘기로는 입력제한에 어긋나는 데이터가 있었다고 한다.. ㅎㄷㄷ 2번 : BFS 이 문제는 지문에 이슈가 있었다. 공지가 올라오기 전에 가능한 풀이 여러가지를 생각해놓고 하나씩 제출하는데 처음에 생각한 풀이가 맞아서 넘어갔다. 3번 : 정렬 데이터 이슈 또는 지문 이슈, 근데 지문이 명확하지 않은 부분이 많았다. 답이 하나가 계속 틀리길래 여기서 30분 이상 데이터와 지문을 이리저리 보면서 수정해봤는데 아무리봐도 해결방법이 보이지 않아 7번으로 넘어갔다. 4번 : 링크드리스트(예상) 7번부터 5번까지 오면서 풀..
최근 huggingface/transformers 에서 모델을 어떻게 구현하였는지 궁금하여 BART 모델 소스코드를 구경하던 도중 이해가 안 되는 주석을 보게 되었다. `BartEncoderLayer` 모듈을 구경하던 중 `hidden_states`의 shape이 (seq_len, batch, embed_dim)으로 되어 있었다. 저 부분만 아무리 봐도 (batch, seq_len, embed_dim)이 맞는 거 같아 직접 shape들을 계산해 보기로 했다. (사실 직접 계산하는 것보다 shape를 print하는 것이 더 빠르게 확인할 수 있다.) 주석이 맞는지 확인하기 위해 직접 계산하는 과정을 간단히 정리해 보면 아래와 같다. (실제론 더 자세히 계산했다.) `input_ids`의 shape는 (ba..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
예선 : 강남점에서 20분만에 다 풀었다. 하지만 60분 후에 퇴실 가능하다고 하셔서 멍때렸다. 본선 : 40분간 택시가 안잡히는 이슈(늦게 나와서 택시 탄게 아니라 일찍 나온거긴 한데...)로 늦게 도착했는데 도착하고 1분만에 입구컷 당했다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
1347번: 미로 만들기 홍준이는 미로 안의 한 칸에 남쪽을 보며 서있다. 미로는 직사각형 격자모양이고, 각 칸은 이동할 수 있거나, 벽을 포함하고 있다. 모든 행과 열에는 적어도 하나의 이동할 수 있는 칸이 있다. 홍 www.acmicpc.net 이 문제는 주어진 문자열 순으로 구현을 하면 되는 문제이다. 주어지는 문자열의 최대 길이는 50으로 101x101 크기의 배열을 만들어 (50, 50)에서 출발하여 주어진 문자열 대로 이동하고 방문한 점을 .으로 방문하지 않은 점을 #으로 출력하면 된다. 미로를 출력하는 범위는 .을 포함하는 가장 작은 직사각형의 크기 및 위치를 관리하면 된다. import sys def input(): return sys.stdin.readline().rstrip() N = ..
3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다. www.acmicpc.net 길이가 $K + 1$인 $[l, r]$ 구간을 잡고 슬라이딩 윈도우로 보면서 $[l, r]$ 구간에서 $l$ 번째와 문자열의 길이가 같은 것의 개수를 세주면 된다. import sys def input(): return sys.stdin.readline().rstrip() N, K = map(int, input().split()) S = [input() for i in range(N)] cnt = [0 for i in range(21)] an..
4991번: 로봇 청소기 각각의 테스트 케이스마다 더러운 칸을 모두 깨끗한 칸으로 바꾸는 이동 횟수의 최솟값을 한 줄에 하나씩 출력한다. 만약, 방문할 수 없는 더러운 칸이 존재하는 경우에는 -1을 출력한다. www.acmicpc.net 로봇 청소기의 시작 위치, 더러운 칸을 정점으로 잡아 새로운 그래프를 만들어 TSP를 해결하면 되는 문제이다. 정점의 개수는 11개(로봇 청소기 위치 + 더러운 칸의 개수)이기 때문에 11!(=39,916,800)가 작아 완전탐색을 돌릴 수 있다. 간선은 A에서 B로 이동할 때 거리를 의미하므로 이 부분은 BFS로 미리 구해놓으면 된다. 아래 코드는 TSP를 계산할 때 완전탐색을 이용하였다. 이를 더 빠르게 돌아가게 하고 싶다면 TSP 관련 알고리즘을 공부하고 적용하면 ..