동기의 이것저것
article thumbnail
백준 2775번 자바
▸백준 2023. 9. 26. 17:32

문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 입력 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 ..

article thumbnail
백준 2869번 자바
▸백준 2023. 9. 25. 20:08

문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 예제 입력 1 복사 2 1 5 예제 출력 1 복사 4 예제 입력 2 복사 5 1 6 예제 출력 2 복사 2 시간 제한이 0.25초 이므로 반복문을 쓰지 않고 풀어야 했다. 2 1 5 를 예로 들..

article thumbnail
백준 1920번 자바
▸백준 2023. 9. 8. 14:54

문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 1 5 4 1 5 2 3 5 1 3 7 9 5 예제 출력 1 1 1 0 0 1 처음에는 Map이 찾는 속도가 빠를거라 생각해 이렇..

article thumbnail
[JAVA] StringBuilder 사용하기
▸Java 2023. 9. 5. 11:34

메모리 할당과 메모리 해제를 하면서 연산이 더 많아진다면 성능적으로 좋지 않은 부분이 생겨난다. 그래서 StringBuilder를 써주면 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 성능적으로 좋다! 사용 방법은 다음과 같다. StringBuilder sb = new StringBuilder(); sb.append("여러분").append("\n"); sb.append("많이 보고 싶었어"); System.out.println(sb);

article thumbnail
[intellij] 프로젝트 이름 변경하기 (Can't rename root module 라고 나왔을 때)
▸MAC/IntelliJ 2023. 8. 28. 11:18

File -> Project Structure에 들어가서 Name을 바꿔준다. settings.gradle에서도 바꿔주고 디렉터리 이름도 직접 변경해준다. intellijf를 종료 후에 다시 open 해주면 끝!

article thumbnail
[네이버 클라우드 플랫폼] 활용 후기
▸MAC/Linux 2023. 6. 12. 09:36

https://dongki1882.tistory.com/62 [네이버 클라우드 플랫폼에서 배포하기] 1. 서버 생성 NCP 콘솔에 들어가서 Platform -> Classic 으로 설정해준다. 그 밑의 Services에서 Sever로 들어간 뒤 새로운 서버를 생성해준다. 다음과 같이 CentOS를 고른 뒤 7.8 버젼을 다운 받았다. 다음을 누른 뒤에 스 dongki1882.tistory.com NCP를 활용하여 서버를 만들고 nginx-proxy-manager를 통하여 내 서비스를 배포하고 젠킨스를 통해 자동화까지 해보았다. 포트포워딩을 해보고 공인 IP를 할당 받고 서버 접속용 공인 IP를 통해 내 로컬 PC에서 SSH에 접속 한 후 도커를 설치하여 이미지를 만들고 빌드하고 내 서비스를 내 도메인에 ..

article thumbnail
Scanner 대신 BufferedReader로 입력 받기 (with StringTokenizer)
▸Java 2023. 6. 6. 21:34

백준 문제를 풀다보니 입력을 받을 때 Scanner 사용보다 BufferedReader 사용할 때 더 빠르다! 버퍼를 사용하는 BufferedReader는 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송하고 가득차거나 개행 문자가 나타나면 버퍼의 내용을 한번에 전달한다 버퍼를 사용하는 입력은 바로 프로그램에 전달된다. 키보드에 입력을 할때마다 바로 전달하는 것보다는 중간에 버퍼를 두어 한번에 보내는 것이 더 효율적이고 빠르다! 하지만 입력을 받는 것이 몇 개 없다면 Scanner가 훨씬 편하다! nextInt(), next(), nextLine() 3개로 String을 int으로 변환하지 않아도 쉽게 입력 받을 수 있다. BufferedReader 사용법을 알아보겠다. 일단 1개의 숫자를 입력 받아 ..

article thumbnail
[Git Webhook 에러] 301 Moved Permanently
▸MAC/Linux 2023. 5. 11. 14:36

분명 url을 바꾸거나 손 댄 기억이 없었는데 이런 에러가 생겼다. 아 혹시나 싶어서 nignx proxy manager에 들어가서 확인해보니 SSL 인증서를 적용하면서 http에서 -> https 로 바뀌었다.... git hub에 들어가서 다시 바꾸어주었다. 휴... 금방 찾아서 다행이다.

article thumbnail
[네이버 클라우드 플랫폼에서 배포하기] 5. 젠킨스(Jenkins)를 통해 CI / CD 배포 환경 구축
▸MAC/Linux 2023. 5. 10. 17:16

젠킨스 설치 docker run \ --name jenkins_1 \ -p 8081:8080 \ -e TZ=Asia/Seoul \ -v /"내 파일 위치"/var/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /"내 파일 위치"/jenkins_1/data:/data \ -u root \ -d \ --restart unless-stopped \ jenkins/jenkins:lts A 레코드 설정 후 Nginx Proxy Manager 통해 젠킨스 접속 저번에 했던 방식과 똑같이 설정해준 후 Nginx Proxy Manager에 들어가서 또 같은 방식으로 add 해준다. 이번에는 A레코드로 설정한 도메인으로..

반응형