반응형

전체 글 197

프로그래머스 - 푸드 파이트 대회 JAVA :: 134240

문제 문제 링크 코딩테스트 연습 - 푸드 파이트 대회 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 ..

Algorithm/Java 2022.12.22

프로그래머스 - 삼총사 JAVA :: 131705

문제 문제 링크 코딩테스트 연습 - 삼총사 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때..

Algorithm/Java 2022.12.21

프로그래머스 - 콜라 문제 JAVA :: 132267

문제 문제 링크 코딩테스트 연습 - 콜라 문제 | 프로그래머스 스쿨 (programmers.co.kr) 문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1..

Algorithm/Java 2022.12.20

프로그래머스 - 옹알이 (2) JAVA :: 133499

문제링크 코딩테스트 연습 - 옹알이 (2) | 프로그래머스 스쿨 (programmers.co.kr) 문제 이해하기 발음할 수 있는 단어는 “aya”, “ye”, “woo”, “ma” 4개의 단어 뿐이다. 중복되어 나열된 단어는 발음할 수 없다. 불가능 : “ayaaya”, “yeye”, “woowoo”, “mamama” 가능 : “ayaye”, “wooma”, “mawoo”, “yemawoo”, “mawooma” 중복되지만 않고, 발음할 수 있는 단어만 나열되면 된다. 문제풀이 1번 풀이 (스택) 이전 단어의 중복을 체크하기 위해 Stack을 활용 import java.util.ArrayList; import java.util.List; import java.util.Stack; public class ..

Algorithm/Java 2022.12.19

JQuery :: paste or cut event to textarea in mobile :: 모바일 환경의 textarea 에서 잘라내기, 붙여넣기 이벤트 감지

textarea에서 keyup으로 입력한 값의 이벤트를 감지하고 후처리하는 기능이 있는데, 붙여넣기 또는 잘라내기의 경우는 keyup의 이벤트를 감지하지 못했다. 문제의 코드 $(document).on("keyup", "#contents", function(){ // event } keyup은 모바일에서 자판으로 입력하는 것들은 감지했지만 붙여넣기, 잘라내기 등의 이벤트는 감지하지 못 해서 원하는 기능이 제대로 작동하지 않았다. 해결한 코드 $(document).on("input", "#contents", function () { // event } input은 모든 변경내역을 감지했으며 해당 코드로 해결할 수 있었다.

프로그래머스 - 숫자 짝꿍 JAVA :: 131128

문제링크 숫자 짝꿍 | 프로그래머스 스쿨 (programmers.co.kr) 문제 이해하기 3 ≤ X, Y의 길이(자릿수) ≤ 3,000,000입니다. 나름 신경 쓴다고 썼는데 이것 때문에 시간을 많이 날렸다. 단순히 삼백만이 아니라 자릿수 삼백만이다… 어마어마한 숫자가 올 수 있다는 뜻 같은 수가 중복될 수 있다. X = "5255", Y = "1255"일 중복되는 수는 2, 5, 5이다. 주의할 점은 X의 5는 3개이지만 Y에는 2개만 있으므로 5는 2개만 짝꿍이다. 짝꿍이 없다면 "-1"을 반환한다. 기본적으로 숫자 개념이므로 "000..."같은 수는 없으므로 0으로 시작하면 0을 반환한다. 문제풀이 1번 풀이 (시간초과) import java.util.Arrays; public String sol..

Algorithm/Java 2022.12.13

MySQL/MariaDB :: 특정 날짜 사이의 년,월,주,일 Group By (with PHP)

특정 날짜 사이의 년,월,일 Group By 하는 포스팅은 꽤 많았지만, 특정 범위의 날짜만 구하는 것이 아니라, 넓은 범위의 날짜를 구한 후 Group By 하는 방식으로 되어 있었다. 나는 정확히 특정 범위의 날짜만 구해서 처리속도도 최소화 하고 싶었다. 기존에 사용했던 코드 select stat_date from ( select adddate('[시작날짜]',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) stat_date from (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 u..

Nginx :: 이중화 과정에서 발생한 오류들 정리

Nginx 이중화 하면서 발생한 오류들 정리 Address already in use 사용하려는 포트가 이미 사용중인 경우 사용중인 포트 확인하기 (만약 사용중인 포트가 꼭 필요한 포트라면 다른 포트로 우회해도 됨) $ netstat -lntp 중지시켜도 상관이 없다면 프로세스 중지시키기 $ kill -9 [pid번호] Permission denied 포트 권한이 없어서 발생하는 오류 포트가 열려있는데도 오류가 발생한다면 아래 CentOS 보안 정책에 의해 막혔을 수도 있음. 포트를 추가해보고 재시도 포트 추가 $ semanage port -a -t http_port_t -p tcp [포트 번호] 포트 확인 $ semanage port -l | grep http_port_t unable to verify..

Nginx :: 이중화, SSL, WebSocket

각 서버의 포트별로 나누어 이중화 하는 방법 데이터베이스 이중화는 MySQL/MariaDB :: 단방향, 양방향 이중화 (Replication) 에서 확인할 수 있습니다. 테스트 서버 정보 대상서버: 0.0.0.1 대상포트: 5000, 5010, 5020 Nginx 환경 설정 (기본) SSL 인증없이 HTTP로 접속하는 경우 upstream serv_a { server 0.0.0.1:5000; server 0.0.0.1:5000 backup; } upstream serv_b { server 0.0.0.1:5010; server 0.0.0.1:5010 backup; } upstream serv_c { server 0.0.0.1:5020; server 0.0.0.1:5020 backup; } server {..

MySQL/MariaDB :: 단방향, 양방향 이중화 (Replication)

데이터베이스 이중화에 대한 내용 2대 이상의 DBMS를 나눠서 데이터를 저장한다. 삽입, 수정, 삭제 모두 복제할 수 있으며, 함수까지도 복제가 가능하다. 부분적으로 복제하는 것도 가능하다. CentOS 7, mysql Ver 15.1 Distrib 10.3.37-MariaDB 데이터베이스 양방향 이중화 my.cnf 설정 1번 서버 my.cnf ... [mysqld] server-id=1 log-bin=binlog binlog_format=mixed sync_binlog=1 binlog_cache_size=2M max_binlog_size=512M expire_logs_days=7 log-bin-trust-function-creators=1 ... 2번 서버 my.cnf ... [mysqld] serve..

반응형