일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- LiveTemplate
- 명제
- dfs
- github cli
- JAVA기초
- 자료형
- springboot
- 서버오류
- linux
- 백준
- Queue
- 데이터센터
- 코테
- thymeleaf
- Java
- Intellij
- 서버중단
- 통신대란
- string
- OVH
- elasticbeanstalk
- AWS
- github
- 자동완성
- 큐
- 코딩테스트
- 논리학
- char[]
- Leetcode
- 알고리즘
- Today
- Total
목록전체 글 (26)
Midnight Coder's Lounge

요약 - 배열을 자르는 메서드에 .slice(-N), .splice(-N)처럼 음수 인덱스를 넣으면, 배열 맨 끝에서 N번째 항목을 가리키게 할 수 있다.- 하지만 N = 0이라면? 배열 맨 끝이 아니라 맨 처음을 가리키게 된다. .slice(-N) = .slice(-0) = .slice(0)이기 때문이다. 상세 JavaScript로 백준 18110번 문제 "solved.ac"를 풀고 있었습니다. 주어진 N의 15%에 해당하는 갯수만큼 배열에서 최댓값 / 최솟값을 각각 제외하고 나머지 수들에 대해 평균을 내는 문제입니다. 그렇기 때문에 입력받은 배열을 정렬하고, N의 15%에 해당하는 값(변수명 offset)만큼 배열의 앞뒤에서 slice하는 방식으로 문제를 풀고자 합니다. 따라서 다음과 같이 코..

요약 JavaScript 객체에는 기본적으로 ‘constructor’, ‘toString’ 등 특정한 key에 해당하는 값이 존재한다. 따라서 객체를 사용해서 문제를 푼 경우, 문자열 ‘constructor’, ‘toString’ 등이 포함된 히든 케이스를 만나면 틀린 답을 출력할 수 있다. const obj = {};console.log(obj['constructor']);console.log(obj['toString']); 출력 결과[Function: Object][Function: toString]// 선언만 하고 아직 아무 값도 넣지 않았는데, 이미 뭔가 들어있는 이유가 뭘까요? 상세 https://www.acmicpc.net/problem/25192 node.js로 백준 25192번 문제 ..

실버1 티어 DFS 문제인 단지번호붙이기 문제 풀이입니다.제법 많은 분들께서 제 문제 풀이를 조회해 주셔서, 블로그에 직접 문제 해설을 올리기로 마음먹었습니다. * 선수지식 : DFS, PriorityQueue 문제 링크 https://www.acmicpc.net/problem/2667 개요 "이차원 평면 위에 1로 표현된 '집'들을 상하좌우로 연결한 묶음을 '단지'라고 하겠습니다. 첫째 줄에 총 단지 수가 몇 개인지 출력해 주세요. 그 후 단지별로 들어 있는 집의 수를 오름차순 정렬해서 한 줄씩 출력해 주세요." 코드 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import..

요약 .add()와 .offer()는 똑같이 Queue에 요소를 삽입하는 연산이다.단 Queue에 크기 제한이 있을 경우 동작하는 방식이 다르다.- .add()는 크기 제한을 넘은 경우 예외를 발생시킨다. 예외처리를 하지 않았다면 프로그램을 비정상적으로 종료한다.- .offer()는 크기 제한을 넘어도 예외를 발생시키지는 않는다. 대신, 삽입이 되지 못했다는 사실을 사용자가 인지하지 못할 수도 있다. 사전지식 예외, 예외처리, 함수의 반환 값(return value) 상세 ".add() 대신 .offer()를 사용하신 이유가 있나요?"알고리즘 그룹 스터디를 하다가, Queue를 사용하는 문제풀이에 댓글로 문의가 들어와서 글을 작성하게 되었습니다.사실 평소에 알고리즘을 풀 때는 크게 차..

스택 자료구조를 다루는 감이 떨어져 스택 문제를 복습했습니다. 풀고 나니 예상보다 티어가 높은 문제였네요. * 선수지식 : Stack, (List) 문제 링크 https://www.acmicpc.net/problem/2504 개요 "괄호의 짝이 맞는지 확인하고, 괄호의 쌍이 나타내는 값의 합계를 구하세요".- 괄호 '()'는 감싸고 있는 값들을 전부 합해서 2를 곱해줍니다. 괄호 안이 비었다면 2를 나타냅니다.- 괄호 '[]'는 감싸고 있는 값들을 전부 합해서 3을 곱해줍니다. 괄호 안이 비었다면 3을 나타냅니다.() = 2[] = 3([]) = 2 * 3 = 6()[] = 2 + 3[()[]] = 3 * (2 + 3) = 15[([])[]] = 3 * ( (2 * 3) + 3 ) = 27 이 규칙에..

브랜치 작업을 마치고 IDE에서 곧바로 PR을 보내고 싶어서 CLI에서 PR을 보내는 방법을 알아보았습니다.터미널에서 GitHub CLI(gh)를 사용하여 다음 커맨드를 통해 PR을 작성할 수 있습니다.gh pr create --base {TARGET_BRANCH} --head {CURRENT_BRANCH} --title "{TITLE}" --body "{BODY}"--base에 해당하는 {TARGET_BRANCH} 자리에는 변경 사항이 병합될 브랜치 이름을 적어 줍니다.--head에 해당하는 {CURRENT_BRANCH} 자리에는 변경 사항이 들어있는 브랜치 이름을 적어 줍니다.{TITLE} 자리에는 PR의 제목을 작성하고 따옴표로 감싸 줍니다.{BODY} 자리에는 PR의 본문 내용을 작성하고 따옴표로..

이른 아침에 산책을 나가서 아침밥을 먹다가 심심해서 예전에 실패했던 백준 문제들을 둘러보았습니다. 실버3 문제 하나를 빠른 방법으로 풀게 되어서 공유하려고 합니다. 문제 링크https://www.acmicpc.net/problem/3273 개요"주어진 배열에서 서로 다른 원소 두 개의 합이 X가 되는 경우의 수를 구하시오". 알고리즘을 처음 배울 때 조합으로 접근했다가 어리둥절했던 문제입니다.'분명 배운 대로 했는데 왜 통과를 못하는 거지?'물론 이제는 순열, 조합과 같은 완전탐색보다 훨씬 빠른 알고리즘이 많다는 걸 깨달았으니더 빠른 풀이방법을 생각해 낼 줄 알아야겠죠. 조합으로 풀 경우시간 제한이 1초인 문제입니다. 배열의 크기는 최대 100,000으로 주어집니다.배열에서 2개의 원소를 찾기 위해..

정말 오랜만에 올리는 포스팅입니다. 백준 알고리즘 문제를 하나 풀어보도록 하겠습니다. 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 개요 골드 4 난이도 시뮬레이션 문제입니다. 골드 난이도라지만 복잡한 알고리즘 지식이 필요한 문제는 아닙니다. 이차원 배열과 큐 Queue 정도의 자료구조를 문제풀이에 응용할 줄 알고, 문제의 요구사항을 꼼꼼히 구현하는 능력이 있다면 풀 수 있는 문제였습니다. 코드 [제출 결과] [코드] import java.io.BufferedReader; import java.io.IOExcept..