분류 전체보기
-
[프로그래머스] 소수 찾기(Level 2) 문제 파이썬(Python) 풀이Problem Solving/Programmers 2021. 10. 11. 00:40
https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr from itertools import permutations def solution(numbers): def is_prime(num): if num < 2: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True temp = set(..
-
[프로그래머스] 네트워크 문제 파이썬(Python) 풀이Problem Solving/Programmers 2021. 10. 4. 17:59
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr def solution(n, computers): visited = [[False] * n for _ in range(n)] def dfs(i, j): visited[i][j], visited[j][i] = True, True for k in range(n): if not visited[j][k] and computers[j][k] == 1: dfs(j, ..
-
[프로그래머스] 오픈채팅방 문제 파이썬(Python) 풀이Problem Solving/Programmers 2021. 10. 4. 17:55
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr def solution(record): temp = [] names = {} result = [] for r in record: cmd = r.split() if cmd[0] == "Enter": temp.append([cmd[1], '님이 들어왔습니다.']) names[cmd[1]] = cmd[2] elif cmd[0] == "Leave": temp.appen..
-
[백준] 1932번 문제 (정수 삼각형) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 10. 4. 17:49
https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net t = int(input()) nums = [list(map(int, input().split())) for _ in range(t)] dp = [] for n in nums: dp.append([0] * len(n)) dp[0][0] = nums[0][0] for i in range(1, t): for j in range(len(nums[i])): if j == 0: dp[i][j] = max(dp[i][j], nums[i][j] + dp[i - 1][j]) elif..
-
[ETC] 컴파일과 인터프리팅ETC 2021. 9. 23. 16:23
https://honggom.tistory.com/155 [일기] 기술 면접에서 시원하게 뚜드려 맞은 날 ^^ 오늘 내가 지원한 회사 중 하나에서 화상으로 기술면접을 봤다. 일단 결과적으로 참담했다.. 내가 정말 아무것도 모르는 먼지 같은 존재였다는 것을 뼈저리게 깨달았다 ㅎㅎ 나름 그동안 열심히 honggom.tistory.com 위 글에서 예고한 .. 복수 일지 그 대망의 첫 번째 '컴파일과 인터프리팅' 에 대하여 알아보는 시간이다. 우선 컴파일에 대하여 알아보자. 컴파일이란? 고급 프로그래밍 언어로 작성된 소스코드를 오브젝트 코드로 변환하는 것. 우선 고급 프로그래밍 언어가 뭘까? 멍청한 컴퓨터는 0과 1(기계어)밖에 이해를 못한다. 따라서 컴퓨터에게 어떤 명령을 시키려면 이진법으로 작성된 코드를 ..
-
[백준] 2210번 문제 (숫자판 점프) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 23. 15:28
https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net import sys sys.setrecursionlimit(10 ** 7) input = sys.stdin.readline mtx = [list(map(int, input().split())) for _ in range(5)] result = set() def dfs(i, j, ch): if len(ch) == 6: result.add(ch) return..
-
[백준] 10988번 문제 (팰린드롬인지 확인하기) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 23. 15:24
https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net from collections import deque import sys s = input() dq = deque(s) while len(dq) > 1: if dq.pop() != dq.popleft(): print(0) sys.exit(0) print(1) 사실 reverse()나 reversed() 함수를 이용해서 아주 간단하게 풀 수 있다. 하지만 그러면 의미가 없을 것 같아서.. 간략하게라도 스택을 이용해서 풀었다. 스택의 양 끝 쪽의 값을 비..
-
[일기] 기술 면접에서 시원하게 뚜드려 맞은 날 ^^일기 2021. 9. 17. 23:16
오늘 내가 지원한 회사 중 하나에서 화상으로 기술면접을 봤다. 일단 결과적으로 참담했다.. 내가 정말 아무것도 모르는 먼지 같은 존재였다는 것을 뼈저리게 깨달았다 ㅎㅎ 나름 그동안 열심히 공부했다고 생각했지만 겉핥기 중에 겉핥기로 공부 한 것 같다. 초반에 질문 받은 것 중 하나가 "컴파일러랑 인터프리터의 차이가 무엇인가?" 였다. 내가 아는 선은 컴파일러는 코드를 한번에 읽어서 빌드하는 것이고 인터프리터는 한줄 한줄 읽어서 빌드한다.. 딱 이정도 수준이였다.. 말하면서도 창피했다 ㅎㅅㅎ; 그리고 추가로 들어온 질문이 "인터프리터가 컴파일러에 비해 왜 느린가?" 였는데, 속으로는 "인터프리터가 한 줄 한 줄 읽으니까 당연히 느린 거 아닐까요?" 라고 생각했는데 .. 이런식으로 답변 할바에는 안 하는게 나..
-
[백준] 17608번 문제 (막대기) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 15. 16:17
https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net t = int(input()) stack = [] for _ in range(t): bar = int(input()) while stack and stack[-1]
-
[백준] 10026번 문제 (적록색약) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 15. 16:13
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net from collections import deque dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def bfs(i, j, v, arr): q = deque() q.append([i, j]) arr[i][j] = 0 while q: a, b = q.popleft() for k in range(4): x = a + dx[k] y = b + dy[k] if 0