일반적으로 메소드 작성할때! def add(a, b): return a + b print(add(3,7)) 코드를 줄이고자 할 때는 람다표현식을 이용할 수 있다. print(lamda a,b : a + b)(3, 7)) 일반적 입력예시 : 더보기 5 65 90 75 34 99 각 데이터를 공백으로 구분하여 입력할 때는 더보기 # 데이터의 개수 입력 n = int(input()) # 각 데이터를 공백으로 구분하여 입력한다 - 데이터의 입력개수가 많을 경우 data = list(map(int, input().split())) -input()으로 입력받은 문자열을 split()을 이용해 공백으로 나눈 리스트로 바꿈 -map을 이용하여 해당 리스트의 모든 원소에 int()함수를 적용한다 -최종적으로 그 결과를 ..
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net java에서 제공하는 스택을 사용하였다! 시간제한이 0.5초이기 때문에, stringbuilder를 사용하였음 Bufferedreader에 익숙해지려고 Bufferedreader를 사용하였는데 push 다음의 값을 읽는 것이 처음에 헷갈렸다! import java.io.BufferedReader; import java.io.IOException; import java.io.Inp..
java에서 제공하는 Arrays.sort(퀵sort)방법을 풀면, 평균 O(nlogn) 최악의 경우 O(N^2)이기 때문에 Collections.sort를 사용해야함 Collections.sort는 합병 및 삽입정렬 알고리즘을 사용하는 Timsort이다. 시간복잡도가 O(n) ~ O(nlogn)를 보장한다. 여기서 중요한거는 반복문을 돌려 System.out.println을 사용하게 되면 시간초과가 난다! StringBuilder나 BufferedWriter를 사용해야함. import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main_수정렬하기2751 { public static vo..
package 트리의지름; import java.util.*; public class Main { static ArrayList[] list; static boolean[] visited; static int max = 0; static int node; public static void main(String args[]) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); list = new ArrayList[n + 1]; for(int i = 1; i < n + 1; i++) { list[i] = new ArrayList(); } for(int i = 0; i < n; i++) { int s = scan.nextInt(); while(t..