나를 기록하다
article thumbnail
[백준 1312 파이썬(python) / 자바(java)] 소수
Algorithm/baekjoon 2023. 6. 20. 20:13

1. 파이썬(Python) 1) 첫번째 풀이(오답) import sys input = sys.stdin.readline a, b, n = map(int, input().split()) x = a / b x = x * pow(10, n) y = int(x / 10) * 10 print(int(x-y)) 런타임 에러(OverflowError)가 발생했다. 찾아보니 파이썬은 소수점 15자리까지만 표시하기에 n이 15가 넘어가면 오류가 발생한다. 따라서 오류가 발생한다. 2) 두번째 풀이(정답) a, b, n = map(int, input().split()) for i in range(n): a = (a % b) * 10 result = a // b print(result) 처음부터 다시 생각하여 실제로 나눗셈..

article thumbnail
[백준 1251 파이썬(python)/자바(java)] 단어 나누기
Algorithm/baekjoon 2023. 6. 19. 22:53

1. Python 풀이 word = list(input()) answer = [] temp = [] for i in range(1,len(word)-1): for j in range(i+1, len(word)): a = word[:i] b = word[i:j] c = word[j:] a.reverse() b.reverse() c.reverse() temp.append(a+b+c) for piece in temp: answer.append(''.join(piece)) print(sorted(answer)[0]) 코드설명 python과 java를 함께 사용하여 문제를 풀이하니 python이 알고리즘 풀이에 있어서 얼마나 유용한지 새삼 느낀다. 입력부터 list로 받아와서 이중 for문을 이용하여 3등분을 할..

article thumbnail
[TIL-4 / 230618] Java - 인터페이스
TIL 2023. 6. 19. 10:15

인터페이스(Interface) 기능: 추상 메서드들의 집합. 인터페이스를 사용하기 위해서는 추상메서드의 집합인 인터페이스를 구현하는 클래스가 존재하여야 한다. 상속: 클래스와 달리 인터페이스는 다중상속을 허용 → 이유: 클래스는 복잡하지만 상대적으로 인터페이스는 단순한 추상메서드들의 집합 구현: 인터페이스들을 구현하는 클래스 입장에서는 인터페이스의 계층 구조를 따져서 그 인터페이스의 모든 부모 인터페이스에 존재하는 추상 메서드까지 클래스가 다 구현을 해주어야 한다. 하나의 인터페이스는 여러 인터페이스를 구현할 수 있다. 결론: 인터페이스를 구현하는 클래스는 자신이 구현하는 모든 인터페이스, 그리고 그 인터페이스의 부모 인터페이스까지 다 따져서 그 전체에 포함된 모든 추상 메서드를 다 오버라이딩해서 구현해..

article thumbnail
[TIL-1 / 230612] JPA 영속성 컨텍스트
TIL 2023. 6. 12. 22:46

영속성 컨텍스트란 무엇인가? JPA를 이해하는데 가장 중요한 용어이다. 뜻: 엔티티를 영구 저장하는 환경 EntityManager.persist(entity); → 영속성 컨텍스트를 이용해서 DB에 저장하는 것이 아니라 영속성 컨텍스트라는 곳에 저장하는 것 영속성 컨텍스트는 논리적인 개념으로, 눈에 보이지 않는다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다. 엔티티의 생명주기 비영속(new/transient): 객체를 생성한 상태(영속성 컨텍스트와 관계 x) 영속(managed): 객체를 저장한 상태(영속성 컨텍스트에 관리되는 상태) 준영속(detached): 영속성 컨텍스트에 저장되었다가 분리도니 상태 삭제(removed): 삭제된 상태 [예시] 1차 캐시에서 조회 package hellojpa..

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..

profile on loading

Loading...