전체 글 786

[🥈4 / 백준 28278 / 파이썬] 스택 2

28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. 1 X: 정수 X를 스택에 넣는다. (1 ≤ X ≤ 100,000) 2: 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. 3: 스택에 들어있는 정수의 개수를 출력한다. 4: 스택이 비어있으면 1, 아니면 0을 출력한다. 5: 스택에 정수가 있다면 맨 위의 정수를 출력한다. 없다면 -1을 대신 출력한다. 입력 첫째 줄에 명령의 수 ..

[JPA] more than one row with the given identifier was found 오류

오류 메시지 more than one row with the given identifier was found 원인 @OneToOne 으로 관계가 매핑된 Entity에 동일한 식별자를 가진 데이터가 중복으로 들어갔기 때문에 발생하는 예외였다. OneToOne 이므로 특정 id로 데이터를 조회했을 때 한 개만 조회되어야 하는데, 여러개가 조회되기 때문이다... 해결 중복된 데이터를 DB에서 제거하여 해결이 가능했다. 또한 해당 컬럼에 Constraint Key를 걸어주어 재발 방지가 가능하였다.

Dev/JPA 2023.08.04

[Lv.2 / 프로그래머스 / SQL] 재구매가 일어난 상품과 회원 리스트 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 재구매가 일어난 상품 리스트를 조회해야 한다. USER_ID와 PRODUCT_ID를 기준으로 묶어, PRODUCT_ID의 개수가 2 이상인 것을 조회하면 재구매라고 판별할 수 있다. SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(PRODUCT_ID) > 1 ORDER BY USER_ID ASC, PRODUCT_ID DESC

[🥈4 / 백준 25192 / 파이썬] 인사성 밝은 곰곰이

25192번: 인사성 밝은 곰곰이 첫번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤 pjshwa와 chansol은 다시 곰곰티콘으로 인사했다. www.acmicpc.net 문제 알고리즘 입문방 오픈 채팅방에서는 새로운 분들이 입장을 할 때마다 곰곰티콘을 사용해 인사를 한다. 이를 본 문자열 킬러 임스는 채팅방의 기록을 수집해 그 중 곰곰티콘이 사용된 횟수를 구해 보기로 했다. ENTER는 새로운 사람이 채팅방에 입장했음을 나타낸다. 그 외는 채팅을 입력한 유저의 닉네임을 나타낸다. 닉네임은 숫자 또는 영문 대소문자로 구성되어 있다. 새로운 사람이 입장한 이후 처음 채팅을 입력하는 사람은 반드시 곰곰티콘으로 인사..

[🥉3 / 백준 24265 / 파이썬] 알고리즘 수업 - 알고리즘의 수행 시간 4

24265번: 알고리즘 수업 - 알고리즘의 수행 시간 4 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 문제 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { sum

[🥉3 / 백준 24264 / 파이썬] 알고리즘 수업 - 알고리즘의 수행 시간 3

24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 문제 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { sum

[🥉2 / 백준 19532 / 파이썬] 수학은 비대면강의입니다

19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 문제 수현이는 4차 산업혁명 시대에 살고 있는 중학생이다. 코로나 19로 인해, 수현이는 버추얼 학교로 버추얼 출석해 버추얼 강의를 듣고 있다. 수현이의 버추얼 선생님은 문자가 2개인 연립방정식을 해결하는 방법에 대해 강의하고, 다음과 같은 문제를 숙제로 냈다. 다음 연립방정식에서 x와 y의 값을 계산하시오. 4차 산업혁명 시대에 숙제나 하고 앉아있는 것보다 ..

[🥉4 / 백준 24263 / 파이썬] 알고리즘 수업 - 알고리즘의 수행 시간 2

24263번: 알고리즘 수업 - 알고리즘의 수행 시간 2 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 문제 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { sum

[🥉5 / 백준 24262 / 파이썬] 알고리즘 수업 - 알고리즘의 수행 시간 1

24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 문제 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # 코드1 } 입력 첫째 줄에 입력의 크기..

[Java] Java에서 Wrapper 타입의 비교는 == 연산자 대신 equals()를 사용해야 하는 이유

개요 개발 중 이슈가 생겨 디버깅을 하던 도중, Long 과 Long 타입을 비교하는 구문에서 서로 두 값이 동일함에도 불구하고 간헐적으로 true가 아닌 false 가 반환되는 현상을 확인하였다. 원인 확인 결과, == 연산자와 equals 의 차이에서 오는 문제였다. 원인 Java에서 객체 비교는 대표적으로 == 연산자와 equals() 메서드를 사용하여 수행할 수 있다. == 연산자는 객체의 주소값을 비교하기 때문에 같은 값을 가지고 있어도 주소값이 다르다면 false를 반환한다. 단, 위에서 언급했듯 간헐적으로 값을 정상적으로 비교할 수 있었던 이유는 Java에서 Long과 Integer의 경우 값을 -128부터 127까지의 범위에 대해 캐시하고 있기 때문에 동일한 주소의 객체로 인식하기 때문이다..

Dev/Java 2023.07.04
반응형