https://www.acmicpc.net/problem/1368 1368번: 물대기 첫 줄에는 논의 수 N(1 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄에는 i번째 논에 우물을 팔 때 드는 비용 Wi(1 ≤ Wi ≤ 100,000)가 순서대로 들어온다. 다음 N개의 줄에 대해서는 각 줄에 N개의 수가 들어 www.acmicpc.net 오늘은 최소신장트리를 학습하였고 이에 맞는 문제를 풀어보았다. 첫 번째 틀린 코드 import heapq import sys n = int(input()) input = sys.stdin.readline visit = [False] * (n+1) answer = 100000 min_num = 0 for i in range(1,n+1): num = int(input()..
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr BFS, DFS와 관련된 문제였다. 나는 인접행렬보다 인접리스트로 문제를 푸는 게 쉬워서 인접리스트로 dfs, bfs로 풀어보았고 인접 행렬을 연습하고자 인접행렬을 이용한 dfs, bfs로 풀어보았다. 내 풀이 인접행렬을 인접리스트로 변환한 후 BFS로 문제를 풀이하였다. from collections import deque def bfs(node): global answer, tree, visi..
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 (optional) 인터페이스의 private 메소드, 자바 9 인터페이스와 추상 클래스를 사용하는 이유 설계시 인터페이스와 추상클래스를 미리 선언해두면 개발시 기능 구현에만 집중할 수 있다. 즉 개발자는 비즈니스 로직에만 집중할 수 있게 된다. 공통의 인터페이스와 추상 클래스를 선언해두면, 선언과 구현을 구분할 수 있다. 인터페이스 정의하는 방법 public interface move { // public static ..
목표 자바의 패키지에 대해 학습하세요. 학습할 것 package 키워드 import 키워드 접근제어자 패키지 패키지 사용 이유 클래스의 분류가 용이하다. (비슷한 것 끼리 묶는다) 패키지가 다르다면 동일한 클래스명을 사용할 수 있다. 패키지 사용 규칙 모든 클래스는 반드시 하나의 패키지에 포함되어야 한다. 소문자로 하는 것이 원칙이다. 패키지에 지정되어 있지 않는 클래스는 자바에서 기본적으로 제공하는 패키지에 속한다. -> 충돌 및 유지 관리의 어려움이 있을 수 있어 패키지를 생성하여 관리하는 것이 효율적이다. Import Import 사용 이유 Import의 역할은 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공하는 것이다. 컴파일 시 컴파일러는 Import문을 통해 패키지를 알아낸 ..