본문 바로가기

728x90

IT 일기/코테

2023 상반기 삼성 코테 후기 선릉역 멀티캠퍼스에서 오전파트를 풀었다. 시험 시작하면 먹는거 마시는거 다 안된다. 그래서 시작 전에 허겁지겁 우걱우걱 초코바를 입에 넣었다. 4시간동안 2문제를 푸는데 1번에 2시간 반...? 정도 투자해서 풀었고 2번은 쉬워보여서 도전했다가 괜히 시간만 날렸다.. 1시간 단위로 나갈 수 있는데 2번 해볼만 하다 판단하게 잘못된것 같다..(그냥 세시간째에 나갈걸!) 그래도 한문제 풀어서 다행이다. 보통 1솔이면 통과니까.. (히든 테케 제발...!!!!!!) 문제는 코드트리에 벌써 올라왔다. 시험 끝난지 7시간밖에 안지났는데 상당히 빠르다. "포탑 부수기"라는 문제인데, 문제 딱 열고 코드 타이핑 시작까지 35분정도 걸린것 같다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 보자마자 "와... .. 더보기
이상한 체스 - python import copy dx = [-1,0,1,0] dy = [0,1,0,-1] def can_move(posX,posY): if posX = n or posY = m or boards[posX][posY] == 6: return False return True def fill_visit(visit,posX,posY,dir): while can_move(posX,posY): visit[posX][posY] = 1 posX = posX + dx[dir] posY = posY + dy[dir] def count_one(visit): tAnswer = 0 for i in range(n): for j in range(m): if visit[i][j] == 0: tAn.. 더보기
정육면체 한번 더 굴리기 - python from collections import deque dx=[0,1,0,-1] dy=[1,0,-1,0] def check_out(posX,posY): if posX = n or posY = n: return False return True def map_point(): for i in range(len(maps)): for j in range(len(maps)): if maps[i][j][1] == 0: startX = i startY = j startInt = maps[i][j][0] stack = deque() stack.append([startX,startY]) visited = {} while len(stack) != 0: checkX,checkY = stack.poplef.. 더보기
코드트리 빵 - python from collections import deque dx = [-1,0,0,1] dy = [0,-1,1,0] def check_can_move(endXX,endYY,visited): if endXX = n or endYY = n or visited[endXX][endYY] == 1 or maps[endXX][endYY] == -1 or maps[endXX][endYY] == -2: # 격자 밖 or 이미 들린곳 or 점령된 BC or 점령된 fac return False return True def find_route(startX,startY,routeCount,facX,facY): for i in range(4): visited = [[0 for _ .. 더보기
17070 / 파이프 옮기기 1 파이썬 https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net bfs, dfs, 누적합 총 세가지 방법으로 풀어봤다. 당연히 bfs, dfs는 시간초과가 났고 마지막 누적합에서 통과됐다. 시간은 bfs > dfs 이다. bfs의 경우 deque에 append, popleft()하는 과정에서 시간이 소요되는듯 하다. 1. 누적합을 이용한 코드 (성공) N = int(input()) maps=[] for _ in range(N): map.. 더보기
16637번 / 괄호 추가하기 - 파이썬 https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순 www.acmicpc.net 소스코드 def calcpart(n1,n2,ex): if ex == '+': return n1+n2 elif ex == '-': return n1-n2 elif ex == '*': return n1*n2 def recursive(numQue,exQue,start): commands = [] def generate(numQue,start,init_command): if start >= .. 더보기
배열 돌리기 4 - 파이썬 def permutation2(arr, length): #조합 [1,2,3],2 => [1,2],[1,3],[2,1],[2,3],[3,1],[3,2] used = [0 for _ in range(len(arr))] returnArr = [] def generate(chosen): if len(chosen) == length: returnArr.append(chosen[:]) return for i in range(len(arr)): if used[i] == 0: #아직 사용 안됨 used[i] = 1 chosen.append(arr[i]) generate(chosen) chosen.pop() used[i] = 0 generate([]) return returnArr def rotate2(arr,case).. 더보기
마법사 상어와 비바라기 - 파이썬 N,M = map(int,input().split()) baskets = [] for i in range(N): baskets.append(list(map(int,input().split()))) # clouds = [[0 for _ in range(N)] for _ in range(N)] # clouds[N-1][0], clouds[N-1][1], clouds[N-2][0],clouds[N-2][1] = 1,1,1,1 clouds = [[N-1,0],[N-1,1],[N-2,0],[N-2,1]] dx = [0,-1,-1,-1,0,1,1,1] dy = [-1,-1,0,1,1,1,0,-1] for _ in range(M): d,s = map(int, input().split()) # print(clouds).. 더보기

728x90