728x90
반응형

AI와 같은 분야에서는 최신 기술이나 연구를 찾는 것이 정말 중요하다.
지금도 계속해서 새로운 SOTA(State-of-the-art, 가장 성능이 좋은) 알고리즘이 나오고 있다.
공부하는 입장에서 안정적인 architecture를 공부하는 것도 중요하지만, 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물 되어버리기도 한다.

1) [찾고 싶은 분야] + top conference라고 검색하면 유명 학회들의 논문들을 검색할 수 있다.

2) [찾고 싶은 학회 이름] + accepted paper list 라고 검색하면 유명 학회의 최신 논문들을 검색할 수 있다.

참고로 AI 관련 분야별 Top Conference으로는

 

 

AI 전반

- NeurIPS(=NIPS)
- ICML
- ICLR
- AAAI
- IJCAI

NLP

- ACL
-EMNLP

CV

- CVPR
- ICCV(격년, ECCV)

RS

-RecSys

Speech

-InterSpeech
-ICASSP

가 있다.

 

아래 사이트는 분야별 논문들을 모니터할 수 있는 사이트이다.

디폴트로 hot papers, freshpapers가 되어있고, keywords를 검색해서 add monitor를 누르면 자동으로 최신 논문들을 모아준다.

https://deeplearn.org

 

Deep Learning Monitor - Find new Arxiv papers, tweets and Reddit posts for you

Fresh Papers Zeju Qiu, Weiyang Liu, Haiwen Feng, Zhen Liu, Tim Z. Xiao, Katherine M. Collins, Joshua B. Tenenbaum, Adrian Weller, Michael J. Black, Bernhard Schölkopf 2024-08-15 PDF Mendeley Hongyu Li, Snehal Dikhale, Jinda Cui, Soshi Iba, Nawid Jamali 20

deeplearn.org

 

 

 

아래는 paperswithcode라는 사이트인데, 분야별로 SOTA논문들을 찾기 유용하다.
깃허브도 연동시켜주기 때문에 논문을 구현할 때도 도움을 받기 편하다.

https://paperswithcode.com

 

Papers with Code - The latest in Machine Learning

Papers With Code highlights trending Machine Learning research and the code to implement it.

paperswithcode.com

다음 글에서는 논문을 읽는 방법, 그것도 매우 잘 읽는 방법에 대해서 이야기해보겠다.

728x90
반응형

'AI > AI 공부' 카테고리의 다른 글

[CS231N] 0강  (1) 2024.08.27
728x90
반응형

노션 캘린더가 나온지 4달정도 됐다.

새로운 앱이 나오면 또 나름 "컴퓨터 전공자"라고 한 번씩 사용해보는 편인데,

계속 사용해봐야지 하다가, 중간고사 끝난 김에 도전해봤다.

나온지 얼마 안되어서 그런가, 아직 사용법을 올린 사람이 적어서 해맨 부분들을 정리해서 공유하려고 한다.


내가 캘린더앱을 고르는 기준은 무조건 outlook이랑 연동되는지가 우선인데, 안 그러면 과제 기한을 잊는 경우가 종종 있다...

다만, 노션 캘린더는 홈페이지에서도 언급하듯이

직접적으로 outlook을 연결하는건 아직 지원하지 않는다.

그래서 우회해야하는데, 내 경우에는 다음과 같은 방법으로 연결했다.

참고로, 맥북 기준이고, 윈도우에서도 비슷하게 하면 사용할 수 있다.

한 계정에서 연결 해놓으면, 다른 계정에서는 자동으로 따라온다.


Step 1 노션 캘린더 다운받기

https://www.notion.so/product/calendar

 

Notion 캘린더

Beautifully designed and fully integrated with Notion and Google Calendar.

www.notion.so

캘린더 앱은 아직 윈도우, 맥, 아이폰에서만 다운로드가 가능하다고 한다!

 

다운로드를 누르면, 다운받을 수 있는 아래로 연결된다.

본인 OS에 맞춰서 다운로드 하면 된다

앱을 설치하고 나면(그냥 다운로드 받은 걸 실행시키면 자동으로 설치된다) 바로 실행된다.


Step 2 노션 캘린더 로그인 및 권한 선택

구글 계정만 연결할 수 있다.

Sign in with Google을 누르면 웹 브라우저로 연결되고, 다음과 같이 나오는데, 

이렇게 나오는데, 여기서 사용 권한을 다 승인해줘야 구글 캘린더와 연결될 수 있다.

우선 계속해서 Google 사용 권한으로 이동을 선택해서 로그인 창으로 넘어가고,

원하는 구글 계정을 선택해서 로그인을 해준다.

계속을 누르고

계속을 눌러준다.

이제는 권한을 선택해줄 시간인데,

기본적으로 눌러져있는 회색 네모박스 외에는 저렇게 3개만 눌러줘도 이용하는데는 지장이 없다.

나머지는 선택적으로 누르면 된다.

그럼 요런 화면을 만날 수 있다.

평상시에 구글 캘린더를 사용하지 않았다면, 초록색 글씨만 있을 수도 있다.


Step 3 구글캘린더와 outlook 연결하기

아까도 말했지만, 직접적으로 outlook 캘린더계정을 연결하는 것은 불가능하다.

따라서 우회해야하는데, 내가 선택한 방식은 구글 캘린더에 outlook 계정을 연결시켜놓는 것이다.

그러면 노션 캘린더에서도 보인다.

우선 학교 eclass나 outlook 계정에 들어가서 캘린더 피드 링크를 받아온다.

Eclass에서 캘린더 피드 링크 가져오기

이클래스에서 왼쪽에 캘린더 버튼을 누르면 다음과 같이 창이 뜨는데,

오른쪽 하단에 있는 캘린더 피드 버튼을 눌러준다.

그럼, 요렇게 캘린더 링크가 나온다.

구글캘린더에 outlook 캘린더 피드 연결

다음으로 구글 캘린더에 들어간다.

https://calendar.google.com/

 

Google Calendar - Easier Time Management, Appointments & Scheduling

Learn how Google Calendar helps you stay on top of your plans - at home, at work and everywhere in between.

calendar.google.com

위쪽에 톱니바퀴를 눌러서 설정에 들어간다.

왼쪽 메뉴바에 캘린더 추가-URL로 추가에 들어간다.

여기 캘린더의 URL 부분에 아까 캘린더 피드 URL을 붙여넣으면 된다.

요렇게 맨 아래 쪽에 추가된 것을 볼 수 있다.

별다른 설정을 건드릴 필요는 없다.

Step 4 노션 캘린더에서 마무리 작업

이제 마무리 작업이다.

별도의 작업은 필요하지 않지만, 바로 연동되지는 않고, 시간이 조금 지나면 연동이 된다.

728x90
반응형
728x90
반응형

내일 시험보러 가는데

일단, 준비물 내일 챙겼나 확인해보고..

더보기

준비물

1. 신분증

2. 수험표(검사함)

3. 삼색 볼펜

4. 샤프

5. 지우개

6. 알고리즘 정리한거 인쇄하기 (태블릿은 들고 있기 너무 불편함)

알고리즘 정리한거 다시 읽기

 

728x90
반응형
728x90
반응형

심각하다 심각해

일단 일요일 전까지 해야하는 모든 일들을 다 끝냈다.

2일동안 진짜 최대한 많이 외워야지

남은 2일 목표는

안 푼 기출문제 다 풀고, 다시 보기로 표시해놨던 기출은 다시 봐야지

dfs, bfs, dp, backtracking, simulation에 관한 문제들 진짜 풀이 방법을 다 외우고, 그래야지.

728x90
반응형
728x90
반응형

코테 준비하면서 까먹은 알고리즘 유형들이 너무 많아서 파이썬 코드로 다시 정리해 놓으려고 한다.


1. 입력받기

삼성 코테에서는 사용할 모든 input에 대해서 미리 정의해 놓은 답지를 제공한다. 따라서, 크게 필요는 없지만...

1.1 기본 저장

기본적으로 저장은 문자열로 저장된다.

a = input()

1.2 입력과 형 변환

입력과 동시에 정수로 형 변환

a = int(input())

1.3 split()

파라미터를 주지 않으면, 공백 문자를 기준으로 잘라주는 내장함수. 

a = input().split()

1.4 map()

map(func, x)의 형태로 사용하는 방식으로 x의 각 요소에 func을 적용시켜 주는 함수이다.

a = list(map(int, input().split()))

1.5 가변인자

n개까지는 리스트로 받고, 마지막을 정수형으로 받는 등의 형태를 할 수 있다.

*a, b = map(int, input().split())

1.6 1차원 배열

a = list()
for _ in range(10):
    a.append(0)
a = [ 0 for _ in range(10) ]
a = [ 0 ] * 10

1.7 2차원 배열

a = [[0] * m for _ in range(n) ]   # n x m 배열

1.8 반복해서 입력받기

L, A, B, C, D = [ int(input()) for _ in range(5) ]

1.9 2차원 배열 입력받기

n, m = map(int, input().split())
a = [ list(map(int, input())) for _ in range(n) ]

공백으로 구분되어 있는 경우

n, m = map(int, input().split())
a = [ list(map(int, input().split())) for _ in range(n) ]

2. 정렬

2.1 오름 차순 정렬하기

a가 오름차순으로 변경되는 방법

a = [1, 5, 7, 4, 6]
a.sort()

a는 변경시키지 않고 반환 값만 정렬해서 넘겨주는 방식

a = [1, 5, 7, 4, 6]
b = sorted(a)

2.2 내림차순 정렬하기

a = [1, 5, 7, 4, 6]
a.sort(reverse=True)

2.3 기준에 따라 정렬하기

  1. x좌표를 오름차순으로, 
  2. x좌표가 같다면 y좌표를 오름차순으로
a = [list(map(int, input().split())) for _ in range(5)]
a.sort(key = lambda x: x[1])
  1. y좌표를 오름차순으로
  2. y좌표가 같다면 x좌표를 내림차순으로
a = [list(map(int, input().split())) for _ in range(5)]
a.sort(key = lambda x: (x[1], -x[0]))

3. 큐, 스택, 덱(Queue, Stack, Deque)

3.1 Queue

Queue란, 먼저 들어온 데이터가 먼저 나가는 구조로 FIFO를 띄는 자료구조이다.

  • push: 큐의 가장 마지막에 데이터를 넣는 연산
  • pop: 큐의 가장 앞의 데이터를 제거하는 연산
  • front: 큐의 가장 앞의 값을 확인하는 연산
  • empty: 큐가 비어있는지 확인하는 연산

python에서 제공하는 함수에는

  • put(x) : x를 큐의 가장 뒤에 넣는다
  • get() : 큐의 가장 앞에 있는 정수를 빼고 그 값을 반환한다
  • qsize() : 큐에 들어있는 정수의 개수를 반환한다
  • empty() : 큐에 비어있으면 True, 아니면 False를 반환한다

이 있다.

import queue
q = queue.Queue()

3.2 Stack

Stack이란, 나중에 들어온 데이터가 먼저 나가는 구조로 LIFO를 띄는 자료구조이다.

  • push: 스택의 가장 마지막에 데이터를 넣는 연산
  • pop: 스택의 가장 마지막의 데이터를 제거하는 연산
  • top: 스택의 가장 마지막의 값을 확인하는 연산
  • empty: 스택이 비어있는지 확인하는 연산
  • size: 스택의 크기를 확인하는 연산

python에서 제공하는 함수에는 

  • append(x): 리스트의 가장 마지막에 x를 추가한다.
  • pop(): 리스트의 가장 마지막 원소를 제거한다.

이 있다.

Stack은 모듈로 존재 하지 않고, 리스트를 통해 간접 구현한다.

3.3 Deque

Deque란, 양방향 Queue라는 의미의 자료구조이다. 앞 뒤 모두 삽입 가능하고 삭제 가능하다.

  • append(x): 덱의 가장 뒤에 x를 삽입한다.
  • appendleft(x): 덱의 가장 앞에 x를 삽입한다.
  • pop(): 덱의 가장 마지막 원소를 제거하며 반환한다.
  • popleft(): 덱의 가장 처음 원소를 제거하며 반환한다.
from collections import deque
dq = deque()

4. 순열과 조합

실제 시험에서 itertools 모듈이 사용 불가능할 수 있다. 직접 구현 방법도 외워 놓자.

# 중복 없는 순열
from itertools import permutations
# 중복 없는 조합
from itertools import combinations
# 중복 있는 순열 / 각 집단에서 추출
from itertools import product
# 중복 있는 조합
from itertools import combinations_with_replacement

4.1 직접 구현 

# 순열 : n개 중에서 중복없이 r개를 뽑음, 이때 순서 상관있음(순서가 다르고 원소가 같으면 다른 걸로 침)
def permutations(arr, r):
    for i in range(len(arr)):
        if r == 1:
            return [arr[i]]
        else:
            for next in permutations(arr[:i] + arr[i+1:], r-1):
                yield [arr[i]] + next

# 조합 : n개 중에서 중복없이 r개를 뽑음, 이때 순서 상관없음(순서가 다르고 원소가 같으면 같은 걸로 침)
def combinations(arr, r):
    for i in range(len(arr)):
        if r == 1:
            return [arr[i]]
        else:
            for next in combinations(arr[i+1:], r-1):
                yield [arr[i]] + next

# 중복조합 : n개 중에서 중복 포함하여 r개를 뽑음, 이때 순서 상관없음
def combinations_with_replacement(arr, r):
    for i in range(len(arr)):
        if r == 1:
            return [arr[i]]
        else:
            for next in combinations_with_replacement(arr[i:], r-1):
                yield [arr[i]] + next

# 중복 순열 : n개 중에서 중복 포함하여 r개를 뽑음, 이때 순서 상관있음
def product(arr, r):
    for i in range(len(arr)):
        if r == 1:
            return [arr[i]]
        else:
            for next in product(arr, r-1):
                yield [arr[i]] + next

4.2 중복 없는 순열

from itertools import permutations
print(list(permutations([1,2,3], 3)))

4.3 중복 없는 조합

from itertools import combinations

n, m = map(int, input().split())
c = list(combinations(range(1, n+1), m))

for x in c:
   print(*x)

4.4 중복 있는 순열 / 각 집단에서 추출 구현

product 함수를 통해 구현

from itertools import product
product([1,2,3], [4,5,6]) # 각 리스트 별로 한 개씩 추출한다.
product([1,2,3], repeat = 2)

4.5 중복 있는 조합

from itertools import combinations_with_replacement as com

n, m = map(int, input().split())
c = list(com(range(1, n+1), m))

for x in c:
    print(*x)

 

5. BFS와 DFS

여기서 무조건 한 문제가 나온다.

5.1 이론 설명

BFS는 Breadth First Search로 너비 우선 탐색이라는 뜻이다.

위키피디아

DFS는 Depth First Search로 깊이 우선 탐색이라는 뜻이다. 

위키피디아

가장 중요한 점은 그래프를 모두 탐색하는 알고리즘이다.

5.2 입력받는 방식

인접 행렬 방식

# 배열을 통한 그래프 표현 방법
n, m, v = map(int, input().split()) #정점의 개수, 간선의 개수, 시작 번호

a = [[0]*(n+1) for _ in range(n+1)]

for _ in range(m):
    x, y = map(int, input().split())
    a[x][y] = 1
    a[y][x] = 1

for x in a:
    print(x)

인접 리스트 방식

n, m, v = map(int, input().split()) #정점의 개수, 간선의 개수, 시작 번호

a = [list() for _ in range(n+1)]
for _ in range(m):
    x, y = map(int, input().split())
    a[x].append(y)
    a[y].append(x)

for x in a:
    print(x)

5.3 BFS

import queue
n, m, v = map(int, input().split()) # 정점의 개수, 간선의 개수, 시작 번호

a = [list() for _ in range(n+1)]
for _ in range(m):
    x, y = map(int, input().split())
    a[x].append(y)
    a[y].append(x)

for x in a:
    x.sort()

chk = [False]*(n+1)
q = queue.Queue()
q.put(v)
chk[v] = True
import queue
n, m, v = map(int, input().split())    # 정점의 개수, 간선의 개수, 시작 번호

a = [list() for _ in range(n+1)]
for _ in range(m):
    x, y = map(int, input().split())
    a[x].append(y)
    a[y].append(x)

for x in a:
    x.sort()

chk = [False]*(n+1)

# BFS 함수 구현 
def bfs(start):
    q = queue.Queue()
    q.put(start)
    chk[start] = True

    while not q.empty():               
        now = q.get()                 # 큐에서 가장 앞으 노드를 꺼내온다.
        print(now, end=" ")           # 해당 노드를 방문한다는 의미로 출력한다.
        for next in a[now]:           # 방문한 노드의 인접 노드들을 for문을 통해 next에 저장한다.
            if not chk[next]:         # 인접 노드가 체크가 되어있지 않다면
                chk[next] = True      # 체크를 해주고,
                q.put(next)           # 인접 노드를 큐에 넣어준다. 
    print()

bfs(v) # bfs 함수 실행

5.4 DFS

n, m, v = map(int, input().split()) #정점의 개수, 간선의 개수, 시작 번호

a = [list() for _ in range(n+1)]
for _ in range(m):
    x, y = map(int, input().split())
    a[x].append(y)
    a[y].append(x)

for x in a:
    x.sort()

chk = [False]*(n+1)
n, m, v = map(int, input().split()) #정점의 개수, 간선의 개수, 시작 번호

a = [list() for _ in range(n+1)]
for _ in range(m):
    x, y = map(int, input().split())
    a[x].append(y)
    a[y].append(x)

for x in a:
    x.sort()

chk = [False]*(n+1)

def dfs(node):
    chk[node] = True
    print(node, end=" ")

    for next in a[node]:
        if not chk[next]:
            dfs(next)

dfs(v)
print()

5.5 BFS, DFS 총 코드

import queue
n, m, v = map(int, input().split()) #정점의 개수, 간선의 개수, 시작 번호

a = [list() for _ in range(n+1)]
for _ in range(m):
    x, y = map(int, input().split())
    a[x].append(y)
    a[y].append(x)

for x in a:
    x.sort()

def bfs(start):
    q = queue.Queue()
    q.put(start)
    chk[start] = True

    while not q.empty():
        now = q.get()
        print(now, end=" ")
        for next in a[now]:
            if not chk[next]:
                chk[next] = True
                q.put(next)
    print()

def dfs(node):
    chk[node] = True
    print(node, end=" ")

    for next in a[node]:
        if not chk[next]:
            dfs(next)

chk = [False]*(n+1)
dfs(v)
print()
chk = [False]*(n+1)
bfs(v)

6. 백트래킹 (Backtracking)

6.1 백트래킹 VS DFS 비교

  • 백트래킹
    • 어떤 노드에서 출발하는 경로가 그 해결책으로 이어질 것 같지 않으면 더 이상 경로를 탐색하지 않음으로써 시도 횟수 감소
    • 불필요한 경로의 조기 차단
    • N! 가지의 경우의 수를 가진 문제에 대해 백트레킹에 가하면 일반적으로 경우의 수가 줄어들지만 최악의 경우는 처리 불가능
    • 모든 후보를 검사하지 않음
  • DFS
    • 모든 경로를 추적
    • N! 가지의 경우의 수를 가진 문제에 대해 깊이 우선 탐색을 이용하면 처리 불가능
    • 모든 후보를 검사

6.2 백트래킹 구현

기본 구현

def 재귀함수(n):
	if 정답이면 :
		출력 or 저장
	else : 정답이 아니면 :
		for 모든 자식 노드에 대해서:
			if 답의 가능성이 있으면:
				자식노드로이동
				재귀함수(n+1)
				부모노드로 이동

답 조건 확인하면서 구현

def 백트래킹(n):
	if 정답이면 :
		출력 or 저장
	else :
		for 모든 자식 노드에 대해 :
			if 유망한지확인(m) :
				자식노드로 이동
				백트래킹(n+1)
				부모노드로 이동

def 답에 가까운지 확인(m):
	if 조건에 안맞으면 :
		return False
	return True

 

0. 참고자료

https://m.blog.naver.com/PostList.naver?blogId=wpghks7&categoryName=삼성% 20SW역량테스트&categoryNo=4&logCode=0

 

알파카고수 : 네이버 블로그

당신의 모든 기록을 담는 공간

m.blog.naver.com

https://velog.io/@dust_potato/python-itertools-algorithm-직접-구현하기

 

[python] itertools algorithm 직접 구현하기

 

velog.io

https://edder773.tistory.com/75

 

[파이썬] 탐색 알고리즘 정리 - 백트래킹

백트래킹 (*Notion AI의 설명) 백트래킹(Backtracking)은 해결책을 구하기 위해 모든 가능성을 시도해보는 것이 아니라, 해결책에 대한 후보군을 구성하고 그 후보군이 문제의 조건을 만족하는지 여부

edder773.tistory.com

 

728x90
반응형
728x90
반응형

문제보기 (난이도 : 브론즈 2, Greedy)

https://www.codetree.ai/training-field/frequent-problems/problems/virus-detector/description?page=1&pageSize=20&order=tier

풀이 전략 (걸린 시간 : 12분)

흔히 볼 수 있는 문제다. 별다른 풀이가 필요하지 않았다.

더보기

변수

n = 식당 수

headT = 팀장 수

memT = 팀원 수

min_headT = n 최소 팀장 수 (사용 X)

min_memT = 최소 팀원 수

minT = min_headT + min_memT 검사자 수의 최소

코드

Runtime: 335ms Memory: 122MB

n= int(input()) #식당 수

restaurant = list(map(int,input().split())) #식당별 고객 수

headTmax, memTmax = map(int,input().split()) #팀장 max 수, 팀원 max 수

minT = n
for i in range(len(restaurant)):
    restaurant[i] -= headTmax
    if restaurant[i] <= 0: #팀장 만으로 충분할 때
        continue
    else:
        minT += restaurant[i] // memTmax
        if restaurant[i] % memTmax != 0:
            minT += 1
print(minT)

다른 사람 풀이

 

복습

  • 문제 경우의 수 제대로 나누기
  • map 함수 자동완성 기능 없이 사용할 수 있어야 한다.
    • map(int, input(), split())
  • for문에서 continue 사용법 확인하기

python 반복문 제어하기 - break, continue, pass

python 반복문 제어하기 - break, continue, pass

728x90
반응형
728x90
반응형

파이썬에서 반복문은 프로그램의 흐름을 제어하고 반복 작업을 수행하는 데 중요한 역할을 한다. 그 중에서도 `break`, `continue`, `pass`는 반복문을 더욱 유연하게 제어할 수 있게 해준다. 이들의 사용법과 각각의 차이를 알아보자.

1. break

  • `break`문은 반복문에서 특정 조건이 충족되었을 때 반복문을 즉시 종료시키는 데 사용.
  • 반복문 내에서 루프를 강제로 탈출할 때 사용
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number == 3:
        break
    print(number)

위 코드는 3을 만나면 반복문이 즉시 종료된다. 따라서 출력 결과는

1
2

 

2. continue문

  • `continue`문은 반복문 내에서 특정 조건이 충족되었을 때, 해당 루프를 건너뛰고 다음 루프로 진행하는 데 사용
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number == 3:
        continue
    print(number)

위 코드는 3을 만나면 해당 루프만 건너뛰고 다음 루프로 진행한다. 따라서 출력 결과는

1
2
4
5

3. pass문

  • `pass`문은 아무런 동작도 하지 않고, 단순히 코드 블록을 건너뛸 때 사용
  • 주로 코드를 나중에 추가할 때 사용되며, 문법적으로 블록이 필요하지만 실행할 내용이 없는 경우에 사용
for i in range(5):
    if i == 2:
        pass
    else:
        print(i)

위 코드에서는 `pass`문이 있는 경우에는 아무것도 하지 않고 지나간다. 출력 결과는 다음과 같습니다.

0
1
3
4

 

  • continue는 해당 조건을 만족하는 경우 현재 반복을 중단하고 다음 반복으로 넘어간다.
  • pass는 해당 조건을 만족하는 경우에도 그냥 넘어가며, 아무런 동작을 하지 않는다.

 

728x90
반응형
728x90
반응형

삼성 서류에 붙었다.

작년에 이어 올해도 보는 문장

사실 서류는 99.99% 붙을 거라고 생각했어서 확인도 엄청 늦게 했다.(0.01%는 자소서가 정말 1시간 만에 완성했어서...)

문제는 코테... 작년 상반기에도 떨어져 본 적이 있어서 엄청 걱정된다.

지난 1달 동안 공부 1도 안 했죠...

고민은 유형별로 풀지, 연도별로 풀지인데, 일단 공부는 연도별로 쭉 기출을 풀고, 부족한 부분만 유형별로 백준이나 프로그래머스에서 찾아서 풀려고 생각 중이다.

다행히도 다음 주에 크게 바쁜 일은 안성에 한번 목요일에 내려가는 것 정도

진짜 생각만해도 손 떨리네(조용한 졸업 원합니다)


## 공부 계획

(노션만 쓰다가 티스토리는 오랜만인데 상당히 불편하네)

하루에 대략 10문제 정도 풀려고 한다. 원래 2문제에 3시간 주니깐, 18시간 공부하는 거군.

모든 기출을 풀긴 하지만, 난이도가 낮은 문제부터 차례로 풀어나갈 것 같다.

(일) 7일 전 기출 골드 5까지

(월) 6일 전 기출 골드 4까지

(화) 5일 전 기출 골드 3까지

(수) 4일 전 기출 골드 2까지

(목) 3일 전 기출 골드 1까지

(금) 2일 전 sw 아카데미 익숙해지기, 기타 어려운 문제중 최신 문제 위주로

(토) 1일 전 복습

목표는 완벽하게 1 솔.

시간은 안 재고 그냥 문제만 풀어내는 게 목표다.

기본적으로 요즘 자바 써서 잊어버린 문법이랑, 표준 라이브러리, 내부 함수들 사용해 보기, 파이참 익숙해지기

https://swexpertacademy.com/main/main.do 익숙해지기

더보기
문항 문항 이름 출처 유형 복습
1 코드트리 오마카세 삼성 SW 역량테스트 2023 하반기 오후 2번 문제 HashSet, Hashmap, Sort, Simulation  
2 루돌프의 반란 삼성 SW 역량테스트 2023 하반기 오후 1번 문제 Simulation  
3 코드트리 메신저 삼성 SW 역량테스트 2023 하반기 오전 2번 문제 Tree, Simulation  
4 왕실의 기사 대결 삼성 SW 역량테스트 2023 하반기 오전 1번 문제 BFS, Simulation  
5 코드트리 채점기 삼성 SW 역량테스트 2023 상반기 오후 2번 문제 Priority Queue, Simulation  
6 메이즈 러너 삼성 SW 역량테스트 2023 상반기 오후 1번 문제 Simulation  
7 토끼와 경주 삼성 SW 역량테스트 2023 상반기 오전 2번 문제 Priority Queue, Sort, Simulation  
8 포탑 부수기 삼성 SW 역량테스트 2023 상반기 오전 1번 문제 BFS, Simulation  
9 산타의 선물 공장 2 삼성 SW 역량테스트 2022 하반기 오후 2번 문제 Doubly-LinkedList, Simulation  
10 코드트리 빵 삼성 SW 역량테스트 2022 하반기 오후 1번 문제 BFS, Simulation  
11 산타의 선물 공장 삼성 SW 역량테스트 2022 하반기 오전 2번 문제 Doubly-LinkedList, Simulation  
12 싸움땅 삼성 SW 역량테스트 2022 하반기 오전 1번 문제 Simulation  
13 예술성 삼성 SW 역량테스트 2022 상반기 오전 2번 문제 Simulation, DFS  
14 술래잡기 삼성 SW 역량테스트 2022 상반기 오전 1번 문제 dx dy technique, Simulation  
15 꼬리잡기 놀이 삼성 SW 역량테스트 2022 상반기 오후 1번 문제 Simulation, DFS  
16 나무박멸 삼성 SW 역량테스트 2022 상반기 오후 2번 문제 dx dy technique, Simulation  
17 Sam의 피자학교 삼성 SW 역량테스트 2021 하반기 오후 2번 문제 Simulation  
18 팩맨 삼성 SW 역량테스트 2021 하반기 오후 1번 문제 Simulation  
19 냉방 시스템 삼성 SW 역량테스트 2021 하반기 오전 2번 문제 dx dy technique, Simulation  
20 정육면체 한 번 더 굴리기 삼성 SW 역량테스트 2021 하반기 오전 1번 문제 Simulation  
21 미로 타워 디펜스 삼성 SW 역량테스트 2021 상반기 오후 2번 문제 dx dy technique, Simulation  
22 나무 타이쿤 삼성 SW 역량테스트 2021 상반기 오후 1번 문제 dx dy technique, Simulation  
23 색깔 폭탄 삼성 SW 역량테스트 2021 상반기 오전 2번 문제 Simulation, BFS  
24 놀이기구 탑승 삼성 SW 역량테스트 2021 상반기 오전 1번 문제 Simulation  
25 회전하는 빙하 삼성 SW 역량테스트 2020 하반기 오후 2번 문제 Simulation, BFS  
26 청소는 즐거워 삼성 SW 역량테스트 2020 하반기 오후 1번 문제 dx dy technique, Simulation  
27 원자 충돌 삼성 SW 역량테스트 2020 하반기 오전 2번 문제 Simulation  
28 불안한 무빙워크 삼성 SW 역량테스트 2020 하반기 오전 1번 문제 Simulation  
29 자율주행 전기차 삼성 SW 역량테스트 2020 상반기 오후 2번 문제 Simulation, BFS  
30 승자독식 모노폴리 삼성 SW 역량테스트 2020 상반기 오후 1번 문제 Simulation  
31 술래잡기 체스 삼성 SW 역량테스트 2020 상반기 오전 2번 문제 Backtracking, Simulation  
32 2차원 테트리스 삼성 SW 역량테스트 2020 상반기 오전 1번 문제 Simulation  
33 윷놀이 사기단 삼성 SW 역량테스트 2019 하반기 오후 2번 문제 Backtracking, Simulation  
34 이상한 다트 게임 삼성 SW 역량테스트 2019 하반기 오후 1번 문제 Simulation  
35 이상한 윷놀이 삼성 SW 역량테스트 2019 하반기 오전 2번 문제 Simulation  
36 종전 삼성 SW 역량테스트 2019 하반기 오전 1번 문제 Simulation  
37 바이러스 백신 삼성 SW 역량테스트 2019 상반기 오후 2번 문제 Backtracking, Simulation  
38 격자 숫자 놀이 삼성 SW 역량테스트 2019 상반기 오후 1번 문제 Simulation  
39 생명과학부 랩 인턴 삼성 SW 역량테스트 2019 상반기 오전 2번 문제 Simulation  
40 시공의 돌풍 삼성 SW 역량테스트 2019 상반기 오전 1번 문제 Simulation  
41 전투 로봇 삼성 SW 역량테스트 2018 하반기 오후 2번 문제 Simulation, BFS  
42 바이러스 실험 삼성 SW 역량테스트 2018 하반기 오후 1번 문제 Simulation  
43 토스트 계란틀 삼성 SW 역량테스트 2018 하반기 오전 2번 문제 BFS  
44 병원 거리 최소화하기 삼성 SW 역량테스트 2018 상반기 오후 2번 문제 Backtracking  
45 드래곤 커브 삼성 SW 역량테스트 2018 상반기 오후 1번 문제 Simulation  
46 디버깅 삼성 SW 역량테스트 2018 상반기 오전 2번 문제 Backtracking, Simulation  
47 이상한 체스 삼성 SW 역량테스트 2018 상반기 오전 1번 문제 dx dy technique, Backtracking  
48 연산자 배치하기 삼성 SW 역량테스트 2017 하반기 오후 2번 문제 Backtracking  
49 돌아가는 팔각 의자 삼성 SW 역량테스트 2017 하반기 오후 1번 문제 Simulation  
50 보도블럭 삼성 SW 역량테스트 2017 하반기 오전 2번 문제 Simulation  
51 조삼모사 삼성 SW 역량테스트 2017 하반기 오전 1번 문제 Backtracking  
52 방화벽 설치하기 삼성 SW 역량테스트 2017 상반기 오후 2번 문제 Backtracking, BFS  
53 자율주행 자동차 삼성 SW 역량테스트 2017 상반기 오후 1번 문제 Simulation  
54 외주 수익 최대화하기 삼성 SW 역량테스트 2017 상반기 오전 2번 문제 Backtracking  
55 테트리스 블럭 안의 합 최대화 하기 삼성 SW 역량테스트 2017 상반기 오전 1번 문제 Simulation  
56 2048 게임 삼성 SW 역량테스트 2016 하반기 2번 문제 Backtracking, Simulation  
57 정육면체 굴리기 삼성 SW 역량테스트 2016 하반기 1번 문제 Simulation  
58 2개의 사탕 삼성 SW 역량테스트 2015 하반기 2번 문제 Backtracking, Simulation  
59 바이러스 검사 삼성 SW 역량테스트 2015 하반기 1번 문제 Greedy  

## 오늘 푼 문제

더보기
59 바이러스 검사 삼성 SW 역량테스트 2015 하반기 1번 문제 Greedy   O

 

728x90
반응형

+ Recent posts