모든 글 201

[프로그래머스] Level3 보석 쇼핑 (JAVA)

[level 3] [카카오 인턴] 보석 쇼핑 - 67258문제 링크성능 요약메모리: 83.2 MB, 시간: 67.46 ms구분코딩테스트 연습 > 2020 카카오 인턴십채점결과정확성: 33.3효율성: 66.7합계: 100.0 / 100.0제출 일자2025년 01월 22일 13:45:24문제 설명[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다.어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다.어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 ..

[개발일지] 시스템 아키텍처 설계

1차 배포를 위해 시스템 아키텍처를 설계하고 구현해봤다.  레디스는 외부 서버를 사용하기 때문에 Region 바깥에 두었다. 추가로 고려해야할 점NAT 게이트웨이는 비용이 꽤나 발생한다.비용 절감을 위해 S3에 연결할 때는 VPC 엔드포인트를 사용CloudWatch에 연결할 때는 ENI를 사용이를 통해 비용 절감을 얻을 수 있다. AWS 자격증을 빠르게 취득하고 시스템 아키텍처를 더 보완해야겠다!

[프로그래머스] Level3 불량 사용자 (JAVA)

[level 3] 불량 사용자 - 64064문제 링크성능 요약메모리: 134 MB, 시간: 126.86 ms구분코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 01월 21일 13:32:08문제 설명개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 사용자라는 이름으로 목록을 만들어서 당첨 처리 시 제외하도록 이벤트 당첨자 담당자인 "프로도" 에게 전달하려고 합니다. 이 때 개인정보 보호을 위해 사용자 아이디 중 일부 문자를 '*' 문자로 가려서 전달했습니다. 가리고자 하는 문자 하나에 '*' 문자..

[프로그래머스] Level3 징검다리 건너기 (JAVA)

[level 3] 징검다리 건너기 - 64062문제 링크성능 요약메모리: 81.5 MB, 시간: 102.55 ms구분코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십채점결과정확성: 64.1효율성: 35.9합계: 100.0 / 100.0제출 일자2025년 01월 20일 15:24:43문제 설명[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]카카오 초등학교의 "니니즈 친구들"이 "라이언" 선생님과 함께 가을 소풍을 가는 중에 징검다리가 있는 개울을 만나서 건너편으로 건너려고 합니다. "라이언" 선생님은 "니니즈 친구들"이 무사히 징검다리를 건널 수 있도록 다음과 같이 규칙을 만들었습니다.징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 ..

[프로그래머스] Level3 등굣길 (JAVA)

[level 3] 등굣길 - 42898문제 링크성능 요약메모리: 53.9 MB, 시간: 0.83 ms구분코딩테스트 연습 > 동적계획법(Dynamic Programming)채점결과정확성: 50.0효율성: 50.0합계: 100.0 / 100.0제출 일자2025년 01월 16일 04:05:16문제 설명계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다.아래 그림은 m = 4, n = 3 인 경우입니다.가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다.격자의 크기 m, n과 물이 잠긴 지역의 좌표를..

[자바 트러블슈팅 공부] XLog(필터링, 통계), PlugIn, Scouter 사용시 유용한 팁

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. XLog 사용법 - 필터링원통형 아이콘부터 쌍안경 아이콘까지가 전부 필터링을 위한 메뉴이다.SQL Filter: SQL 쿼리에서 수행된 시간만을 보기 위한 필터이 메뉴를 누르면 전체 응답시간의 산점도가 SQL 시간만을 나타내는 산점도로 바뀐다.API Filter: API 호출 시간만을 보기 위한 필터이 메뉴를 누르면 API 호출 시간이 나오는데, 대체로 API 호출 시간이 높아 지연의 주요 요인인 걸 파악할 수 있다.Error Filter: Error가 발생한 것만을 보기위한 필터빨간 예외 점들만 확인할 수 있다.검색: 특정 URL이나 화면을 찾기 위한 메뉴쌍안경을 누르면 위의 화면이 나타난다.Object: 인스턴스 구분..

APM/Scouter 2025.01.15

[프로그래머스] Level3 네트워크 (JAVA)

[level 3] 네트워크 - 43162문제 링크성능 요약메모리: 74.9 MB, 시간: 0.25 ms구분코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 01월 14일 23:27:14문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주..

[개발일지] Auto Scaling Group 적용과 무중단 배포(Rolling Update) 및 CI/CD 파이프라인 설정

ASG 적용 배경우선 우리 프로젝트는 지난 데이터가 부족하기 때문에 트래픽의 예측이 불가능하다.이러한 상황에서 단순하게 서버를 수직 스케일링 하는 것은 자원의 낭비일 뿐이다. 좀 더 유연하게 트래픽에 대처하고, 서버 가용성을 높여 24시간 서버의 다운 없이 서비스를 제공하기 위해우리는 Auto Scaling Group을 적용하기로 하였다. User Data 적용시작 템플릿에서 유저 데이터를 정의해줘야 한다.유저 데이터란 인스턴스를 처음 시작할 때 실행되는 스크립트를 의미한다.이 스크립트를 통해 우리는 인스턴스를 우리가 원하는 대로 초기화 할 수 있다.https://2junbeom.tistory.com/116 [AWS] aws 강의 섹션 5 (EC2 심층 분석 - EC2 유형, 접속 방법, 구성 옵션, 보..

[프로그래머스] Level2 의상 (JAVA)

[level 2] 의상 - 42578문제 링크성능 요약메모리: 77 MB, 시간: 0.11 ms구분코딩테스트 연습 > 해시채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 01월 11일 19:21:21문제 설명코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다.종류이름얼굴동그란 안경, 검정 선글라스상의파란색 티셔츠하의청바지겉옷긴 코트코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다.착용한 의상의..

백준 10974번 모든 순열 (java)

[Silver III] 모든 순열 - 10974문제 링크성능 요약메모리: 81456 KB, 시간: 2172 ms분류백트래킹, 브루트포스 알고리즘제출 일자2025년 1월 9일 17:47:48문제 설명N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.출력첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.풀이dfs로 완탐하면 끝이다.전체 코드public class Main { static int N; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedRe..