전체 글 59

[프로그래머스] 압축 (python)

코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 👩🏻‍💻 코드 from string import ascii_uppercase def solution(msg): answer = [] alpha_list = list(ascii_uppercase) alpha_dict = {} for i in range(26): alpha_dict[alpha_list[i]] = i + 1 start = 0 end = 1 idx = 27 w = '' c = '' msg += ' ' while True: for i in range(end, len(msg) +..

[프로그래머스] 짝지어 제거하기 (python)

코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 👩🏻‍💻 코드 def solution(s): stack = [] for i in range(len(s)): if stack and stack[-1] == s[i]: stack.pop() else: stack.append(s[i]) return 0 if stack else 1 📝 정리 연속으로 같은 알파벳이 나오게 되면 2개를 한 번에 제거하면 된다. 따라서 stack을 사용했다. 스택의 맨 위에 있는 값이 현재 값과 같은 경우 (연속으로 같은 알파벳..

[프로그래머스] 전화번호 목록 (python)

코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 👩🏻‍💻 코드 def solution(phone_book): phone_book.sort() for i in range(len(phone_book) - 1): if len(phone_book[i + 1]) >= len(phone_book[i]): if phone_book[i + 1].find(phone_book[i]) == 0: return False return True 📝 정리 오름차순으로 phone_book 정렬 두 개씩 비교하며 앞의 전화번호가 뒤의 ..

[프로그래머스] 스킬트리 (python)

코딩테스트 연습 - 스킬트리 programmers.co.kr 👩🏻‍💻 코드 def solution(skill, skill_trees): answer = 0 for st in skill_trees: idx = 0 flag = True for s in st: if s == skill[idx]: idx += 1 if idx == len(skill): break elif s not in skill: continue else: flag = False break if flag: answer += 1 return answer 📝 정리 효율성 테스트가 존재하지 않기 때문에 일일이 비교하는 방법으로 해결했다. skill_trees 내에 있는 스킬 트리와 skill을 동시에 확인하였다. skill에 존재하는 철자인 경우 ..

[프로그래머스] 카카오프렌즈 컬러링북 (java)

코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 👩🏻‍💻 코드 import java.awt.*; import java.util.*; public class Solution { static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, -1, 0, 1}; static int[][] map; static boolean[][] visited; public int[] solution(int m, int n, int[][] picture) { int numberOfArea = 0;..

[프로그래머스] 멀쩡한 사각형 (python)

코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 👩🏻‍💻 코드 import math def solution(w,h): return w * h - (w + h - math.gcd(w,h)) 📝 정리 직사각형에서 잘리는 부분의 크기가 (가로 + 세로 - 가로와 세로의 최대공약수) 라는 것을 생각하는 것이 다소 어려웠다. 반면 코드는 매우 짧음.. 규칙 찾기란 항상 어려운 것..😅

[프로그래머스] 배달 (python)

코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 👩🏻‍💻 코드 import heapq def solution(N, road, K): answer = 0 graph = [[] for _ in range(N + 1)] distance = [1e9] * (N + 1) for i in range(len(road)): start, end, time = road[i] graph[start].append((end, time)) graph[end].append((start, time)) q = []..

[프로그래머스] 땅따먹기 (python)

코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 👩🏻‍💻 코드 def solution(land): dp = [[0] * 4 for _ in range(len(land))] for i in range(len(land)): for j in range(4): if i == 0: dp[i][j] = land[i][j] else: max_list = dp[i - 1].copy() del max_list[j] dp[i][j] = max(max_list) + land[i][j] return max(dp..

2021 삼성전자 인턴 코딩테스트 후기

삼성 대학생 인턴 모집 공고가 뜨자마자 처음으로 입사 서류란 것을 준비하기 시작했다. 이맘때쯤 학교에서 무료로 해주는 입사서류 컨설팅을 처음 받았는데 이때 내 자소서의 심각성을 깨닫고 처음부터 끝까지 갈아엎었다.^^ (휴 이때라도 깨달아서 다행;;) 자소서는 3월 22일까지 제출이었는데 발표는 4월 13일 저녁 6시쯤 나왔다. 첫 도전이었는데 처음 맛보는 '합격'이라는 두 글자에 마음이 너무 설레 버렸다. 그런데 기뻐하는 것도 잠시,, 코딩 테스트까지 2주 정도밖에 남지 않아 발표날 저녁부터 바로 코테 준비 모드로 돌입하였다. 코딩 테스트 준비 삼성 코딩 테스트 문제는 구현력 싸움이라고 생각한다. 누가 얼마나 꼼꼼하고 빠르게 구현할 수 있는가를 가장 중요시 여기는 느낌이다. 2문제에 3시간이므로 한 문제..

취준생활 2021.09.27

스코페(scofe) 2021 - 2차 후기

Startup Coding Festival - 스코페 2021 최고의 스타트업 개최 대한민국 개발자 1만명을 위한 scofe2021 ~3/17(수)까지 신청 접수! 대한민국 개발자 1만명을 대상으로 진행되는 스코페2021은, 분야별 최고의 스타트업들이 모여 개발자들만의 www.wanted.co.kr 일시: 2021년 3월 27일 (토) 14시~18시 제한 시간: 4시간 문제 수: 4문제 문제 1 - 오디션 연습 슬라이딩 윈도우 알고리즘 문제였다. 많이 연습하지 않았던 유형이라 처음부터 헤맸다.. (1번부터 헤매서 멘탈 바사삭) 문제 2 - AR-WORLD를 연결하자 MST 문제였다. 이 또한 힘들게 구현했다.. 문제 3 - 패키지 제조하기 dfs 문제였던 것 같은데 제대로 완성하지 못했다. 문제 4 - ..

취준생활 2021.09.16