본문 바로가기

전체 글669

백준 10813 공 바꾸기 (JAVA 자바 풀이) 백준 10813 공 바꾸기 (JAVA 자바 풀이) 10810 공 넣기 문제와 마찬가지로 그대로 구현해주면 된다. 풀이에 있어서 배열 내부를 먼저 초기화해주고 할 것인지, swap 하는 과정에서 초기화할 것인지를 선택할 수 있다. 후자로 하면 마지막에 초기화하지 않은 0에 대해서도 index를 설정해준 값에 대해서 한번 작업을 해주어야 한다. 먼저 초기화해주는 것이 편하다고 판단해 그렇게 풀이했다. 💡 코드 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.stream.IntStream; publ.. 2023. 7. 2.
백준 10810 공 넣기 (JAVA 자바 풀이) 백준 10810 공 넣기 (JAVA 자바 풀이) 단순 구현 문제로서 구현해주면 된다. 범위가 전체 배열을 순회하도록 주어지면 이중 반복문이 돌면서 최대 O(n^2)까지 시간 복잡도가 높아지지만 주어지는 N,M 데이터의 최대 범위가 100으로 낮기 때문에 괜찮다. 💡 코드 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.stream.IntStream; public class Main { private static final BufferedReader bufferedReader = new Buff.. 2023. 7. 2.
대규모 서비스에서 알고리즘과 자료구조의 중요성 패스트 캠퍼스 (The Red: 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술 by 카카오페이지 기술전략이사 윤진석) 필기록입니다. 이번 세션에서는 서버 레벨이 아닌 코드 레벨에서 확장성에 대해 살펴본다. 다음과 같이 시장의 요구 사항과 사업의 요구사항이 있을 때를 생각해보자. 내 주변 객실을 검색하라라는 문제를 살펴보면 현재의 내 위치 원점에서 -> 각각의 점들 계산 즉, 2차 평면 거리 계산 문제가 된다. int[][] point = {{3,3}, {5,-1}, {-2,4}} 1. 유클리드 거리 계산 2. 원점으로부터 거리 순으로 정렬 3. 상위 k개 출력 유명한 알고리즘 문제인 find K closest points to the origin 코드를 구현해보면 다음과 같이 표현해볼 수 있다.. 2023. 7. 2.
확장성과 안정성 있는 서비스 시스템 설계 패턴 패스트 캠퍼스 (The Red: 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술 by 카카오페이지 기술전략이사 윤진석) 필기록입니다. 초창기 웹 서비스 - 야후 (1994) http://yahoo.com DNS lookup Apache + Perl CGI 메인 DB 한 쪽에서 장애가 나면 모두 죽어버리는 문제 1. 서비스 안정성이 떨어진다. - 서버 관점에서는 가용성이 떨어진다고 할 수도 있음 - 대부분 단일장애구간(SPoF : Single Point of Failure) 데이터베이스의 중단 문제를 해결하기위한 Active-stanby 이중화 구성 -> primary DB와 Secondary DB를 나눈다. 2. 확장성이란? 두 가지 의미로 분류해서 볼 수 있다. 서버 레벨의 확장성 코드 레벨의.. 2023. 7. 2.
대규모 서비스에서 발생하는 기술적 이슈 및 장애 사례 패스트 캠퍼스 (The Red: 4천만 MAU를 지탱하는 서비스 설계와 데이터 처리 기술 by 카카오페이지 기술전략이사 윤진석) 필기록입니다. IT 서비스 혁신 = 비즈니스 모델의 혁신 오늘날 새롭게 출현하는 스타트업이란? 페이팔 창업자: 획기적인 아이디어나 혁신적인 기술로 비즈니스를 발굴하는 팀 => 기술 발전이나 소비자 욕구 변화에 따라 혁신적인 제품 또는 서비스를 제공하는 것이 IT 서비스의 기본 컨셉이다. 전통적인 기업의 주요 활동 - 제품 개발, 유통, 마케팅 - 고객 응대, 서비스 운영, 시스템 유지보수 - 수익 분석, 자산 관리 최근 IT 기술과 접목 -> 부서 간의 고도화 e.g. 제품 개발, 제품 유통 -> Product-Market fit 소프트웨어 엔지니어링과 데이터 과학이 합쳐져서 .. 2023. 7. 2.