목록분류 전체보기 (282)
Hayden's Archive
알고리즘 문제 출처 : https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �� www.acmicpc.net 내가 작성한 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.LinkedList; ..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/1406 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 www.acmicpc.net 내가 작성한 코드 커서를 기준으로 커서 왼쪽은 left 스택, 커서 오른쪽은 right 스택에 쌓는다. 최종 출력할 때 left 스택의 내용물들을 차례대로 꺼내서 append 하고 reverse 한 후에 right 스택의 내용물들을 append 하면 된다. import java.io.BufferedReader; import java.io.BufferedWriter; imp..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 내가 작성한 코드 처음에는 문제가 이해가 되지 않았다. 다시 읽고 이해를 했는데 그러니까 스택에 1,2,3,...,n까지 차례대로 넣을 건데 주어진 숫자가 [4, 3, 6, 8, 7, 5, 2, 1]와 같이 주어졌다면 4를 꺼내기 위해서 1~4까지 스택에 push하고 4가 가장 위에 있을 때 ..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 www.acmicpc.net 내가 작성한 코드 문자를 스택에 push하다가 공백(" ")을 만나면 pop해서 꺼낸다. 마지막 문자열 같은 경우 뒤에 공백이 없는데 그래서 마지막 문자일 경우를 따로 pop해서 꺼낼 수 있도록 조건을 따로 뒀다. Scanner로 하다가 줄 단위로 받는 건 BufferedReader와 BufferedWriter를 사용하는 게 더 좋을 것 같아서 방법을 바꿨다. 또 String ..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 내가 작성한 코드 import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { Stack stack = new Stack(); Scanner sc = new Scanner(System.in); int num = sc...
관련 포스팅 : https://hayden-archive.tistory.com/199 참고한 코드 : https://bumbums.tistory.com/4 다음 그래프의 시작 꼭지점에서 특정 꼭지점까지의 거리와 경로를 출력해본다. class Dijkstra { private int n; //꼭지점 수를 변수로 선언 private int[][] weight; //2차원 배열 weight에 각 꼭지점의 가중치를 저장 private String[] saveRoute; private String[] vertex = {"a","b","c","d","e","f","g","z"}; public Dijkstra(int n) { super(); this.n = n; //생성자를 통해 꼭지점 수를 주입하고, weight ..
알고리즘 문제 출처 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWVWgkP6sQ0DFAUO&categoryId=AWVWgkP6sQ0DFAUO&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 내가 작성한 코드 큐의 FIFO 성질을 이용해서 큐 5개를 만들면 어렵지 않게 풀 수 있다. import java.util.Scanner; import java.util.LinkedList; import java.util.Queue; import java.io.FileInputStream; cl..
파이썬은 자바와 달리 code block을 쓰지 않고 indent(들여쓰기)를 씀
딕셔너리(Dictionary) 자바의 Map과 같이 Key, Value로 이뤄져 있고 {}로 둘러싸임. 잘 다뤄야 함. 셋(Set) 유니크한 데이터만 들어감.(중복 없음) 순서가 없음. 셋으로 리턴되는 것을 추출하기 편하게 하려면 리스트나 튜플로 변환시킴. 모양새는 {}
튜플은 모양새가 () 튜플을 만들 일은 잘 없지만 머신이나 딥에서 데이터 돌린 결과가 튜플로 리턴되는 경우가 꽤 있음. 튜플의 인덱싱과 슬라이싱은 리스트와 동일. 튜플은 어차피 조회 때만 쓴다. 데이터 분석은 거의 다 조회임. 데이터 생성할 일이 거의 없음. 데이터의 특징을 전략적으로 파악하고 시각적으로 표현하는 것. 튜플을 쓴다는 건 리스트 대신에 쓴다는 것. 튜플은 리스트보다 메모리 효율성이 훨씬 뛰어남. 메모리의 크기를 알아볼 수 있는 것 => sys.getsizeof() 이용해서 크기 비교...