헝D의 일기장
article thumbnail
[프로그래머스] 두 원 사이의 정수 쌍 java (LEVEL2)
코테풀이 2024. 1. 29. 19:34

https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 원 사이의 정수 쌍 문제 설명 x축과 y축으로 이루어진 2차원 직교 좌표계에 중심이 원점인 서로 다른 크기의 원이 두 개 주어집니다. 반지름을 나타내는 두 정수 r1, r2가 매개변수로 주어질 때, 두 원 사이의 공간에 x좌표와 y좌표가 모두 정수인 점의 개수를 return하도록 solution 함수를 완성해주세요. ※ 각 원 위의 점도 포함하여 셉니다. 제한 사항 1 ≤ r1

[백견불여일타] Spring Data JPA
개발공부 2024. 1. 27. 17:57

ORM(Object Relational Mapping) : 객체와 관계형 데이터베이스 매핑하는 기술. JPA (Java Persistence API): 자바 ORM 기술에 대한 API 표준. 즉 인터페이스 -장점: 특정 데이터베이스에 종속되지 않고, 객체지향적 프로그래밍을 가능하게 해주며, 생산성 향상. -단점: 1.복잡한 쿼리 사용시에는 sql 사용하는게 나을 수 있음. native sql을 통해서 기존 sql 사용할수는 있지만 특정 디비에 종속되는 단점이 생겨서 JPQL을 지원함. 2.성능 저하 위험: 객체간 매핑 설계 잘못했을경우. 자동으로 생성되는 쿼리 많아서. Hibernate: JPA 인터페이스를 구현한 가장 대표적 오픈소스. JPA 동작방식 한개의 Entity Manage Factory --..

article thumbnail
[프로그래머스] 우박수열 정적분 java (LEVEL2)
코테풀이 2024. 1. 27. 16:02

https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 콜라츠 추측이란 로타르 콜라츠(Lothar Collatz)가 1937년에 제기한 추측으로 모든 자연수 k에 대해 다음 작업을 반복하면 항상 1로 만들 수 있다는 추측입니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2.결과로 나온 수가 1보다 크다면 1번 작업을 반복합니다. 예를 들어 주어진 수가 5 라면 5 ⇒ 16 ⇒..

[백견불여일타] 프로젝트 생성
개발공부 2023. 11. 12. 17:05

https://cafe.naver.com/codefirst 백견불여일타 : 네이버 카페 로드북 출판사의 백견불여일타 시리즈의 학습 공간입니다. cafe.naver.com 깃허브: https://github.com/gituserhjlee/springbootShopProject 개발환경: 운영체제 - Window 11 IDE: IntelliJ Community JDK: JDK 11 스프링부트: 2.7.17 빌드툴 : Maven 데이터베이스: MySQL 스프링부트 특징: 톰캣(WAS) 자체 내장 빌드 구성 단순화 위한 'Spring Boot Starter' 의존성 제공 xml 설정없이 단순 자바 수준의 설정 방식 제공 JAR를 이용해 자바 옵션만으로 배포 가능 애플리케이션 모니터링과 관리를 위한 스프링 액추에..

article thumbnail
[프로그래머스] 스티커 모으기(2) java 풀이(LEVEL3)
코테풀이 2023. 9. 14. 20:07

https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다. 예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 ..

article thumbnail
[프로그래머스] 기지국 설치 java 풀이 (LEVEL3)
코테풀이 2023. 9. 6. 20:56

https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5g 기지국은 4g 기지국보다 전달 범위가 좁아, 4g 기지국을 5g 기지국으로 바꾸면 어떤 아파트에는 전파가 도달하지 않습니다. 예를 들어 11개의 아파트가 쭉 늘어서 있고, [4, 11]..

article thumbnail
[프로그래머스] 숫자 게임 java 풀이(LEVEL3)
코테풀이 2023. 8. 31. 19:36

https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. 각 사원은 딱 한 번씩 경기를 합니다. 각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고, ..

[프로그래머스] 야근 지수 java 풀이 (LEVEL3)
코테풀이 2023. 8. 27. 21:17

https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴..

[프로그래머스] 최고의 집합 자바 java 풀이(LEVEL3)
코테풀이 2023. 8. 19. 22:14

https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 }, { 2, 7 }, { ..

멀티스레드 환경에서의 싱글톤 패턴
개발공부 2023. 8. 16. 20:58

회사에서 운영중인 웹 어플리케이션에서는 db 연결 프레임워크로 마이바티스를 사용하고 있다. 하지만 간혹 대용량 데이터를 처리해야하는 경우가 종종 있는데, 이러한 경우에는 마이바티스를 사용하는 것보다는 jdbc batch 방식을 이용하는 것이 성능에 더 좋아 batch 방식을 사용하고 있다. 그렇게 운영하던 와중 한가지 이상한 점을 발견했는데, jdbc 배치 처리를 위해 db 커넥션을 생성하는 클래스가 싱글톤 패턴으로 구현되었다는 것이다. 기본적으로 tomcat은 다중 유저의 요청을 멀티스레드로 처리하게 되고, 멀티 스레드 환경에서 싱글톤 패턴을 사용하게 되면 각각의 스레드가 static 변수에 접근할 수 있게 되면서 동시성 문제가 생길 수 있다. 즉 대용량 데이터를 처리하는 메뉴들을 여러명의 사용자가 동..