분류 전체보기
-
DFS / BFS 탐색 알고리즘 문제 깊이 우선탐색 graph = [[0], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7]] visited = [False] * 9 def dfs(v, graph, visited): visited[v] = True print(v, end=" ") for node in graph[v]: if not visited[node]: dfs(node, graph, visited) dfs(1, graph, visited) 너비 우선탐색 from collections import deque visited = [False] * 9 graph = [[0], [2, 3, 8], [1, 7], [1, 4, 5], [3..
[이코테 Python] DFS / BFS 탐색 알고리즘 문제DFS / BFS 탐색 알고리즘 문제 깊이 우선탐색 graph = [[0], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7]] visited = [False] * 9 def dfs(v, graph, visited): visited[v] = True print(v, end=" ") for node in graph[v]: if not visited[node]: dfs(node, graph, visited) dfs(1, graph, visited) 너비 우선탐색 from collections import deque visited = [False] * 9 graph = [[0], [2, 3, 8], [1, 7], [1, 4, 5], [3..
2022.01.13 -
구현 문제 상하좌우 [문제] 여행가 A는 N × N 크기의 정사각형 공간 위에 서 있습니다. 이 공간은 1 × 1 크기의 정사각형으로 나누어져 있습니다. 가장 왼쪽 위 좌표는 (1, 1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당합니다. 여행가 A는 상, 하, 좌, 우 방향으로 이동할 수 있으며, 시작 좌표는 항상 (1, 1)입니다. 우리 앞에는 여행가 A가 이동할 계획이 적힌 계획서가 놓여 있습니다. 계획서에는 하나의 줄에 띄어쓰기를 기준으로 L, R, U, D 중 하나의 문자가 반복적으로 적혀있습니다. 각 문자의 의미는 다음과 같습니다 L: 왼쪽으로 한 칸 이동 R: 오른쪽으로 한 칸 이동 U: 위로 한 칸 이동 D: 아래로 한 칸 이동 이때 여행가 A가 N × N 크기의 정사각형 공간을 벗어..
[이코테 Python] 구현 문제구현 문제 상하좌우 [문제] 여행가 A는 N × N 크기의 정사각형 공간 위에 서 있습니다. 이 공간은 1 × 1 크기의 정사각형으로 나누어져 있습니다. 가장 왼쪽 위 좌표는 (1, 1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당합니다. 여행가 A는 상, 하, 좌, 우 방향으로 이동할 수 있으며, 시작 좌표는 항상 (1, 1)입니다. 우리 앞에는 여행가 A가 이동할 계획이 적힌 계획서가 놓여 있습니다. 계획서에는 하나의 줄에 띄어쓰기를 기준으로 L, R, U, D 중 하나의 문자가 반복적으로 적혀있습니다. 각 문자의 의미는 다음과 같습니다 L: 왼쪽으로 한 칸 이동 R: 오른쪽으로 한 칸 이동 U: 위로 한 칸 이동 D: 아래로 한 칸 이동 이때 여행가 A가 N × N 크기의 정사각형 공간을 벗어..
2022.01.13 -
그리디 알고리즘 문제 거스름 돈 [문제] 당신은 음식점의 계산을 도와주는 점원입니다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한이 존재한다고 가정합니다. 손님에게 거슬러 주어야 할 돈이 N원일 때 거슬러 주어야 할 동전의 최소 개수를 구하세요. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수입니다. [입력] 1260 [출력] 6 정답 n = int(input()) coins = [500, 100, 50, 10] cnt = 0 for coin in coins: cnt += n // coin n %= coin print(cnt) 큰 수의 법칙 동빈이의 큰수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰수를 만드는 방법이다. 단, 배..
[이코테 Python] 그리디 알고리즘 문제그리디 알고리즘 문제 거스름 돈 [문제] 당신은 음식점의 계산을 도와주는 점원입니다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한이 존재한다고 가정합니다. 손님에게 거슬러 주어야 할 돈이 N원일 때 거슬러 주어야 할 동전의 최소 개수를 구하세요. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수입니다. [입력] 1260 [출력] 6 정답 n = int(input()) coins = [500, 100, 50, 10] cnt = 0 for coin in coins: cnt += n // coin n %= coin print(cnt) 큰 수의 법칙 동빈이의 큰수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰수를 만드는 방법이다. 단, 배..
2022.01.13 -
이 글은 Windows 10, Terminal (Ubuntu 18.04) 의 bash shell에서 적용한 내용입니다. (1) 서버 최신상태 확인 다음과 같이 서버 패키지와 리포지토리를 최신 상태로 업데이트합니다. sudo apt update sudo apt -y upgrade (2) 자바 설치 Java가 설치되어있는지 먼저 확인합니다. $ java -version # Command 'java' not found, but can be installed with: 주석과 같이 java 명령어가 적용되지 않는다면 설치되어있지 않은 것입니다. 현재 시점을 기준으로 java(jdk)의 최신 버전은 java-17, 즉 Java SE Development Kit 17.0.1입니다. 컴파일 하려는 자바 파일과 버전을..
[Java] WSL 우분투(Ubuntu)에 Java(jdk) 설치 및 Java 파일 컴파일 하기이 글은 Windows 10, Terminal (Ubuntu 18.04) 의 bash shell에서 적용한 내용입니다. (1) 서버 최신상태 확인 다음과 같이 서버 패키지와 리포지토리를 최신 상태로 업데이트합니다. sudo apt update sudo apt -y upgrade (2) 자바 설치 Java가 설치되어있는지 먼저 확인합니다. $ java -version # Command 'java' not found, but can be installed with: 주석과 같이 java 명령어가 적용되지 않는다면 설치되어있지 않은 것입니다. 현재 시점을 기준으로 java(jdk)의 최신 버전은 java-17, 즉 Java SE Development Kit 17.0.1입니다. 컴파일 하려는 자바 파일과 버전을..
2022.01.07 -
레지스터와 카운터 레지스터 - 플립플롭의 집합체. - 2진 정보 저장이 가능한 셀들의 집합. - 플립플롭에 덧붙여 어떤 연산을 수행하는 조합회로를 포함할 수 있음. - 플립플롭과 그들의 상태전이에 영향을 주는 회로의 집합으로 구성 카운터 - 입력펄스가 가해짐에 따라 미리 정해진 순서대로 상태를 전이하는 레지스터 - 레지스터의 특수한 형태라고도 볼 수 있음. 레지스터 D-플립플롭들과 하나의 공통된 클럭 펄스 입력으로 구성된 레지스터 Clock=1 입력 정보 저장(상승 전이) Clock=0 변화없음 Clear=0 비동기적으로 모든 레지스터를 0으로 모두 클리어 병렬로드를 갖는 레지스터 병렬 로드 : 레지스터의 모든 비트가 하나의 클럭 펄스에서 동시에 로드됨. Clock=1 입력 정보 로딩(상승 전이) Clo..
[디지털 시스템 회로 설계] 레지스터와 카운터레지스터와 카운터 레지스터 - 플립플롭의 집합체. - 2진 정보 저장이 가능한 셀들의 집합. - 플립플롭에 덧붙여 어떤 연산을 수행하는 조합회로를 포함할 수 있음. - 플립플롭과 그들의 상태전이에 영향을 주는 회로의 집합으로 구성 카운터 - 입력펄스가 가해짐에 따라 미리 정해진 순서대로 상태를 전이하는 레지스터 - 레지스터의 특수한 형태라고도 볼 수 있음. 레지스터 D-플립플롭들과 하나의 공통된 클럭 펄스 입력으로 구성된 레지스터 Clock=1 입력 정보 저장(상승 전이) Clock=0 변화없음 Clear=0 비동기적으로 모든 레지스터를 0으로 모두 클리어 병렬로드를 갖는 레지스터 병렬 로드 : 레지스터의 모든 비트가 하나의 클럭 펄스에서 동시에 로드됨. Clock=1 입력 정보 로딩(상승 전이) Clo..
2021.12.19 -
모듈화와 인터페이스 소프트웨어 설계 - 소프트웨어 해결책을 위한 문제 해결과 계획 과정 - 요구사항에 대한 구현 방법을 명시하는 것 소프트웨어 설계 원칙 추상화 (Abstraction) - 복잡한 세부사항을 배제하고 본질적인 부분만 추출함 - 종류 : 기능 추상화, 자료 추상화, 제어 추상화 모듈화 (Modularization) 정제 (Refinement) - 하향식 방법으로 프로그램 구조를 단순 기능으로 혹은 상세 설명으로 구체화 구조화 (Structured) - 구성 요소와 그들간의 상호작용방식 정의 - 종류 : 계층구조 (단계적 분해, 분할 정복),네트워크 구조, 관계형 구조, ER 구조 등 정보은닉 (Information Hiding) - 모듈 내부의 정보와 구현을 숨기고, 인터페이스로만 접근 가..
[디지털 시스템 회로 설계] 모듈화와 인터페이스모듈화와 인터페이스 소프트웨어 설계 - 소프트웨어 해결책을 위한 문제 해결과 계획 과정 - 요구사항에 대한 구현 방법을 명시하는 것 소프트웨어 설계 원칙 추상화 (Abstraction) - 복잡한 세부사항을 배제하고 본질적인 부분만 추출함 - 종류 : 기능 추상화, 자료 추상화, 제어 추상화 모듈화 (Modularization) 정제 (Refinement) - 하향식 방법으로 프로그램 구조를 단순 기능으로 혹은 상세 설명으로 구체화 구조화 (Structured) - 구성 요소와 그들간의 상호작용방식 정의 - 종류 : 계층구조 (단계적 분해, 분할 정복),네트워크 구조, 관계형 구조, ER 구조 등 정보은닉 (Information Hiding) - 모듈 내부의 정보와 구현을 숨기고, 인터페이스로만 접근 가..
2021.12.18