일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 프로그래머스
- 17404
- 도넛과막대그래프
- 최소스패닝트리
- 백준
- 구현
- [1차]캐시
- 그래프탐색
- 이모티콘할인행사
- 섬연결하기
- 파이썬
- 트리의지름
- javascript
- 다익스트라
- 두큐합같게만들기
- BFS
- 최단경로
- 위상정렬
- 알고리즘
- DP
- 파괴되지않은건물
- 자물쇠와열쇠
- DFS
- 거리두기확인하기
- 사이클게임
- 큐
- 벽부수고이동하기
- 징검다리건너기
- 프림알고리즘
- RGB거리2
- Today
- Total
목록알고리즘 (48)
블로그 이름 뭐로 하지
문제 https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 풀이 내가 스스로 못 푼 문제 ^ ___ ^ 사실 이런 연산식과 관련된 문제 나오면 얼어버리는 습관(...)이 있다. 내가 잘 못 풀기 때문. 스택 문제라는건 알았는데 어떻게 구현을 해야할지 떠올리지를 못했다. 쩝 ㅠ . ㅠ 앞에서부터 요소를 탐색하는데 피연산자가 나오면 바로 answer에 더해주고, 연산자가 나오면 stack에 넣어주는 방식이다. stack에 넣어주기 전에 이전에 나온 ..
문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 보자마자 DP라고 생각했다. 백준 1149번 RGB거리랑 거의 똑같은 문제고 해당 문제를 풀었던 적 있어서 그 문제 풀이대로 풀었다. 문제를 3분컷하면 기분이 참..좋습니다. 코드를 더 효율적으로? 짧게? 짤 수 있을 것 같긴한데 짧은 코드라고 해서 무조건 좋은 코드는 아니라고 생각해서... 그냥 이대로 제출~ 코드 n = int(input()) arr = [] for _ in range(n): tmp = list(map(int,input().split())..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 그냥 정한 문제인데 문제를 보니까 마침 우리가 요새 많이 풀고 있는 최단경로 문제라서 반가웠다. 백준에서 최단경로 문제를 푸는것도 좋지만 해당 알고리즘이 어떤식으로 코테에서 나오나...궁금했는데 활용 문제 느낌? 이어서 딱 좋은 타이밍에 푼 것 같다. 문제를 처음 봤을 때 함께 타고 가는 걸 어떻게 처리할지가 고민이었다. 왜냐면 함께 타는건 한번만 더해줘야 하고 각자 따로 타는건 따로..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 완전 간단한 구현 문제다. 일반적으로 파이썬 내장 조합이나 순열 사용하면 시간초과가 터지는 경우가 많은데 이건 그냥 쉬운 문제여서 그런가... 탐험할 수 있는 모든 던전 탐험 순열을 찾아서 하나하나 탐험해보고 가장 많이 탐험할 수 있는 경우를 출력했다. 코드 from itertools import permutations def solution(k, dungeons): dun_num = ..
문제 https://www.acmicpc.net/problem/1865 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 풀이 예전에도 시도했던 흔적이 있으나 실패로 남아있던 문제였다 . . . 음수 가중치(웜홀)이 있어서 다익스트라로는 못 푸는데, 음수 가중치가 존재하는 경우에 최단경로를 찾는 알고리즘이 뭐였더라... ? ... 생각해보니 기억이 안 나서 결국 검색해봤고, 벨만 포드 알고리즘을 오랜만에 마주했다. 처음엔 이해가 잘 안 갔는데 ㅠ 내가 벨만 포드 알고리즘을 보면서 어려웠거나 이해 안..
문제 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 풀이 그냥 정말 다익스트라 기초 문제. 2달 전에 풀었던 문제인데 메모리 초과, 시간초과, 맞았습니다... 라고 돼있어서 좀 걱정했는데 아니나다를까 이번 처음 풀이도 시간 초과가 떴다. ㅠㅠ 뭐가 문제인지 고민했는데 혹시나..하고 input을 sys로 고쳐줬더니 바로 정답. 아오 이럴 때마다 아주 킹이 받는다. 풀이 적을 것도 없이 일반 다익스트라 문제고..

본 글은 개발자를 위한 컴퓨터공학1 강의를 기반으로 작성됐습니다. CPU는 컴퓨터의 네 가지 핵심 부품 (CPU, 메모리, 보조기억장치, 입출력장치) 중 하나로, 크게 ALU, 제어장치(Control Unit), 레지스터로 이루어져 있다. 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다. CPU의 구성 ALU(산술논리연산장치): 계산기(계산을 위한 회로들의 모임) 레지스터: CPU 내부의 작은 저장 장치(보통 CPU 내에 여러개 있음) 제어장치: 제어 신호를 내보내고, 명령어를 해석하는 장치 제어 신호: 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호 ex) CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기 라는 제어 신호를 보낸다. CPU의 대략적인 작동 순..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 정말 그냥 문제에 나와있는대로 하면 된다. 1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다. 2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다. 3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다. 큐니까 선입된(가장 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음에 봤을 때 일반적인 구현은 금방 할 것 같았는데 -1를 출력하는 경우를 어떻게 판단할지가 고민이었다. 나는 각 큐의 길이가 300,000 이하이므로 600,000 번 이상 교환을 했는데도 두 큐의 합이 같지 않다면 합을 같게 만들 수 없다고 판단하고 -1을 리턴해주는 식으로 해줬다. 정답처리는 됐지만 이 숫자를 어떤 기준으로 잡아야하는지는 모르겠다... 다른 사람들을 어떻게 지정..

문제 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 풀이 어쩌다보니 오늘은 다 최단경로 알고리즘 문제... ! 이거는 예전에 풀었던 문제고, 아까 다익스트라를 풀었어서 바로 풀었다. 처음엔 간선이 양방향인데 단방향으로만 추가해줘서 틀렸습니다가 떴고, 두 번째엔 1e9 부분에서 -1을 출력해줘야 하는데 그 부분에서 ==과 >= 처리를 잘못해서 틀렸습니다를 몇 번 겪고난 후에 ^ __ ^ 정답을 띄울 ..