나를 기록하다
article thumbnail
[백준 1181 파이썬/python] 단어 정렬
Algorithm/baekjoon 2023. 6. 11. 23:24

1. 첫번째 풀이(실패) 이 문제는 처음에 쉬워보여서 바로 시도하였으나, 런타임에러로 실패하였다. 처음에 제출한 코드는 다음과 같다. import sys input = sys.stdin.readLine n = int(input()) lst = [] for i in range(n): lst.append(input().strip()) lst = list(set(lst)) lst.sort() lst.sort(key = len) for i in lst: print(i) 실패 원인 sys.stdin.readLine() 함수를 사용하여 입력을 받을 때, 전체 입력을 한 번에 처리하기 때문. 입력이 많은 경우 처리 시간이 길어질 수 있다. 시간을 줄이기 위해서는 입력을 한 줄씩 처리해야 한다. 2. 두번째 코드(성공..

article thumbnail
[백준 10250 자바/java] ACM 호텔
Algorithm/baekjoon 2023. 5. 26. 23:35

문제 설명 이 문제는 손님들을 온 순서대로 엘리베이터에서 호수까지 가깝게 층수가 h까지고 동수가 w까지인 호텔에 배치하는 것이다. 그리고 거리가 같을 때는 아래층을 선호하기에 1호 라인의 101부터 h층까지 순서대로 채우고 다 채우면 2호라인 순으로 나아가면 된다. 따라서 w는 고려하지 않고 입력받은 h와 n만을 이용하여 문제를 풀 수 있다. 풀이과정 효율적인 입출력을 위해 BufferedReader와 InputStreamReader를 통해 문자열 데이터를 입력 받는다. 이 과정을 위해서는 IOException 예외를 처리해준다. 문자열의 효율적인 처리를 위해 StringBuilder 객체를 선언한다. t를 입력받고 for문 안에 StringTokenizer 객체를 생성하여 공백을 기준으로 h, w, n..

article thumbnail
[백준 4153 자바/Java] 직각삼각형
Algorithm/baekjoon 2023. 5. 25. 23:34

문제 설명 직각삼각형이 되기 위한 조건은 주어진 세 변의 길이가 각각 x, y, z이고, 가장 큰 변의 길이를 x라고 했을 때, x^2 = y^2 + z^2(피타고라스 공식)이 성립하는 것이다. Scanner 대신 효율적인 방법을 풀어보기 위해 BufferedReader와 StringBuilder를 활용하였다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReade..

article thumbnail
[백준 1085 자바/Java] 직사각형에서 탈출
Algorithm/baekjoon 2023. 5. 25. 22:21

자바로 알고리즘 언어 변경.. 아직 파이썬, 자바 어느 하나 완벽히 못하기에, 파이썬과 자바 둘 다 하기보단 자바 하나를 확실하게 하자는 마음가짐으로 알고리즘 공부를 자바로 변경하였다. 그래서 브론즈 문제도 근근히 푸는 나이지만 다시 열심히 공부하겠다. 코드 코드는 전체 코드말고 부분씩 나누어서 살펴보겠다. BufferedReader, InputStreamReader import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throw..

article thumbnail
[백준 2920 자바/Java] 음계
Algorithm/baekjoon 2023. 5. 23. 22:36

코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Scanner 객체 생성 int[] inputs = new int[8]; // 크기가 8인 정수형 배열 생성 for (int i = 0; i < inputs.length; i++) { // inputs 배열에 값 입력 inputs[i] = sc.nextInt(); // 사용자로부터 정수 입력 받음 } sc.close(); // Scanner 객체 닫기 String output = ""; // 출력 결과를 저장할 문자열 변수 초기화 for (int i = 0; i < input..

article thumbnail
[백준 2338 자바/Java] 긴자리 계산
Algorithm 2023. 5. 23. 22:09

코드 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // A에 대한 BigInteger 입력 받기 BigInteger A = in.nextBigInteger(); // B에 대한 BigInteger 입력 받기 BigInteger B = in.nextBigInteger(); // A와 B의 합 출력 System.out.println(A.add(B)); // A에서 B를 뺀 값 출력 System.out.println(A.subtract(B)); // A와 B의 곱 출력 System.o..

profile on loading

Loading...