[프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 게임 맵 최단거리
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답 풀이V + E -> N*M + 4(N*M) -> O(NM)간단한 bfs 문제import java.io.*;import java.util.*;class Solution { final static int[] dx = {-1, 1, 0, 0}; final static int[] dy = {0, 0, -1, 1}; static int[][] map; public int solution(int[][] maps) { ..
[프로그래머스 알고리즘 고득점 Kit][해시][Java] 완주하지 못한 선수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/425761. 틀린 코드HashSet에 완주자를 저장하고 참가자 배열을 돌면서 완주자 집합에 없으면 완주하지 못한 선수라 생각하고 코드를 작성했다.문제를 제대로 안읽고 빠르게 풀려다 동명이인이 존재함을 인지하지 못했다.import java.io.*;import java.util.*;class Solution { static HashSet completions; public String solution(String[] participant, String[] completion) { String answer = ""; completions = new Ha..
유클리드 호제법 - 최대공약수 구하기(+ 최소공배수)
·
알고리즘 & 자료구조/내용 정리
알아야할 표현 최대공약수 = GCD = Greatest Common DivisorGCD(A, B) = A와 B의 최대공약수 유클리드 호제법 두 양수 A, B(A > B)에 대하여 A = BQ + R (0 ≤ R 즉, GCD(A, B) = GCD(B, R)R = 0이라면 A, B의 최대공약수는 B가 된다.(출처 - 유클리드 호제법 나무위키) 정리 A와 B의 GCD는 B와 (A를 B로 나눈 나머지)의 GCD와 같다.GCD(A, B) = GCD(B, A%B) 예시 ex) 270, 192의 최대공약수GCD(270, 192) = GCD(192, 78) = GCD(78, 36) = GCD(36, 6) = GCD(6, 0) = 6 증명 나머지는 나눠지는 수가 나누는 수보다 작아질 때까지 빼는 것과 같다. 다르게 말하..
싸피 13기 비전공자 합격 에세이
·
기타
저는 게임 속 이스터에그처럼 개발자가 숨겨 놓은 요소에 관심이 생겼습니다. 소비자에게 필수적인 부분이 아님에도 이런 요소를 추가한 걸 보며 일을 즐기면서 하는구나 느꼈고 그 덕에 개발에 흥미가 생겨 c언어를 독학하기 시작했습니다.하지만 질문할 사람이 없다는 점은 제게 큰 어려움이었습니다. 이를 해결하기 위해 학원에 등록해 즉각적인 피드백을 받으며 로또번호출력, 은행계좌관리 프로그램 등을 만들며 결과를 눈으로 확인하는 과정에서 재미를 느꼈습니다.학원 강의를 통해 C++까지 배웠지만, 경제적 부담으로 독학으로 전환했고, 현재는 알고리즘 스터디와 백준문제풀이를 통해 실력을 키우고 있습니다. 그러나 전공자 스터디원들과 비교해 기초에 부족함을 느껴 이를 보완하고자 싸피에 지원했습니다.싸피에서 탄탄한 기초를 다지고..
귀멸의 칼날: 무한성편으로 배우는 고가용성 설계 맛보기
·
기타
가용성이란 전체 서비스 운영 시간 중 정상적으로 동작한 시간의 비율을 말한다.고가용성 설계는 이 가용성을 높여 장애를 감지 · 우회 · 빠르게 복구해 오랫동안 안정적으로 운영되도록 하는 설계이다. 그런데 귀멸의 칼날에서 고가용성? 1. 로드 밸런싱 & 라우팅 나키메(=로드 밸런서/트래픽 컨트롤러)가 무잔(=장애 지점)으로 향하는 귀살대(=요청)들을 다른 전투 구역(=서비스)로 보낸다.(우회 라우팅) 2. 트래픽 분산 함께 있던 귀살대(=요청)들을 다른 전투 구역으로 분산시킴으로써 하나의 문제로 전체가 멈추지 않게 한다. 3. 페일오버 & 빠른 복구 - 무잔이 인간이 되는 약(=장애 원인)을 맞고 더 이상 싸울 수 없다는 것을 인지(=장애 감지) -> 모든 귀살대(=요청)가 무잔(=장애 지점)으로 향..