본문 바로가기

분류 전체보기

(308)
[백준/Python] 11060번: 점프 점프 문제 https://www.acmicpc.net/problem/11060 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 www.acmicpc.net 문제 요약 재환이는 n개의 칸으로 이루어진 미로의 가장 왼쪽 끝 칸에 존재한다. 칸에 쓰여져 있는 수만큼 오른쪽으로 떨어진 칸으로 이동할 수 있을 때, 가장 오른쪽 끝 칸으로 이동할 수 있는 최소 점프 횟수를 출력한다. 가장 오른쪽 끝 칸으로 이동할 수 없는 경우 -1을 출력한다. 코드 from collections import deque def min_jump(arr): n = ..
[Embedded Software] Embedded System 개발 (example) + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. Embedded System 개발 프로세스 1. 시스템 요구 정의 - 사용자 관점에서 생각하며 시스템 개발에서 요구되는 것들을 정의한다. ex) User Interface, Scenario, QCD(Quality, Cost, Delivery) 등 2. 시스템 아키텍처 설계 - 구조 설계 - HW와 SW의 역할과 기능을 분담하고, 구성과 동작을 구체화하며 기능간 연동과 제한사항을 기술한다. 3. 소프트웨어 개발 - 상세 설계 - HLD(High Level Description, 크게 설계) => LLD(Low Level Description, 보고 바로 구현할 수 있을 정도의 설계) => 구현 ex) Unit Test(단위 테스..
[백준/Python] 2606번: 바이러스 문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 문제 요약 n개의 컴퓨터가 m개의 네트워크로 연결되어 있을 때, 1번 컴퓨터가 바이러스에 걸렸을 때, 1번 컴퓨터를 통해 바이러스에 감염되는 컴퓨터 수를 출력한다. 두 컴퓨터가 네트워크로 연결되어 있을 때, 하나의 컴퓨터가 바이러스에 감염되면 다른 컴퓨터도 바이러스에 감염된다. 코드 def dfs(start): global cnt check[start] = 1 for i in tree[start]..
[Computer Architecture] 명령어 집합 구조 + 한국항공대학교 길현영 교수님의 컴퓨터구조론 과목 내용을 정리한 글입니다. 명령어 집합 구조 (ISA, Instruction Set Architecture) 좁은 의미에서 컴퓨터 구조 = 명령어 집합 구조 (ISA) 어떤 프로그램과 그 프로그램을 수행할 컴퓨터 하드웨어 사이의 인터페이스에 대한 완전한 정의 혹은 명세 - 명령어는 CPU 등 컴퓨터 하드웨어에서 인식되거나 실행될 수 있는 기계 명령어이다. Machine Code - 기계어: The byte-level programs that a processor excutes => 프로세서에서 실행되는 2진 코드 (2진 코드) Assembly Code - 어셈블리어: A text representation of machine code => 컴퓨터 하드웨어..
[백준/Python] 3273번: 두 수의 합 문제 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 문제 요약 n개의 서로 다른 양의 정수로 이루어진 수열에서 서로 다른 두 수의 합이 x인 쌍의 수를 출력한다. 코드 n = int(input()) arr = sorted(list(map(int, input().split()))) # 배열 정렬 x = int(input()) left = 0 right = n - 1 cnt = 0 while..
[백준/Python] 25706번: 자전거 묘기 문제 https://www.acmicpc.net/problem/25706 25706번: 자전거 묘기 길이가 N미터인 직선 자전거 도로가 있다. 도로는 길이가 1미터인 N개의 칸으로 구분되어 있고, 가장 왼쪽에 있는 칸부터 순서대로 1번 칸, 2번 칸, …, N번 칸이다. 도로의 각 칸에는 점프대가 설 www.acmicpc.net 문제 요약 길이가 N미터(N칸)이고 칸마다 점프대가 존재하는 직선 자전거 도로에서 자전거를 탈 때 총 몇 개의 칸을 밟게 되는지 출력한다. 점프대의 높이가 N이라면 N칸 만큼 건너뛴다. 코드 N = int(input()) arr = list(map(int, input().split())) dp = [1] * N # dp[i]는 i인덱스에서 달리면 밟는 칸의 개수 for i in ..