전체 글124 BJ G5 7569 토마토 - Java [문제링크]https://www.acmicpc.net/problem/7569 [문제]철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다.창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 .. 알고리즘/DFS_BFS 2024. 10. 1. BJ S1 11286 절댓값 힙 - Java [문제링크]https://www.acmicpc.net/problem/11286 [문제]절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다.배열에 정수 x (x ≠ 0)를 넣는다.배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.[입력]첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 .. 알고리즘/힙 2024. 10. 1. BJ S4 17219 비밀번호 찾기 - Java [문제링크]https://www.acmicpc.net/problem/17219 [문제]2019 HEPC - MAVEN League의 "비밀번호 만들기"와 같은 방식으로 비밀번호를 만든 경민이는 한 가지 문제점을 발견하였다. 비밀번호가 랜덤으로 만들어져서 기억을 못 한다는 것이었다! 그래서 경민이는 메모장에 사이트의 주소와 비밀번호를 저장해두기로 했다. 하지만 컴맹인 경민이는 메모장에서 찾기 기능을 활용하지 못하고 직접 눈으로 사이트의 주소와 비밀번호를 찾았다. 메모장에 저장된 사이트의 수가 늘어나면서 경민이는 비밀번호를 찾는 일에 시간을 너무 많이 쓰게 되었다. 이를 딱하게 여긴 문석이는 경민이를 위해 메모장에서 비밀번호를 찾는 프로그램을 만들기로 결심하였다! 문석이를 도와 경민이의 메모장에서 비밀번호를.. 카테고리 없음 2024. 9. 30. BJ S3 1003 피보나치함수 - Java [문제링크]https://www.acmicpc.net/problem/1003 [문제]다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다.int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }}fibonacci(3)을 호출하면 다음과 같은 일이 일어난다.fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다.fibonacci(2)는 fibonacci(1).. 알고리즘/DP 2024. 9. 30. BJ S4 11399 ATM - Java [문제링크]https://www.acmicpc.net/problem/11399[문제]인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈.. 알고리즘/정렬 2024. 9. 30. WebSocket + Spring Boot 도입기 : 웹소켓 심화 지난번에 웹소켓을 학습하고 도입해보면서 방을 여러개 만들어서 여러 방에서 사람들을 나누는 방법에 대해 궁금해졌습니다. 따라서 오늘 해볼것은 "방 여러개 만들어서 채팅하기"입니다. 방 생성하기 user1으로 room에 접속하기 user2도 room에 접속하기 user1으로 TALK 하기 코드 WebSockChatHandler package com.example.websocket.config; import com.example.websocket.dto.ChatMessage; import com.example.websocket.dto.ChatRoom; import com.example.websocket.service.ChatService; import com.fasterxml.jackson.databind.O.. 기타/WebSocket 2024. 1. 5. WebSocket + Spring Boot 도입기 : 웹소켓 기초 build.gradle websocket dependency 추가 implementation 'org.springframework.boot:spring-boot-starter-websocket' config 웹소켓을 사용하기 위해 bean 등록@Component public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } } service WebSocketChatting 서비스 추가 @ServerEndpoint(value = "/chatt") @Service public class WebSocketChatting {.. 기타/WebSocket 2024. 1. 4. Flutter 설치 방법 (feat. mac) 2.0 Installation SDK 설치 Homebrew 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" flutter 설치 brew install --cask flutter [Flutter 설치 오류] Error: It seems there is already a Binary at '/opt/homebrew/bin/dart' brew remove dart brew install --cask flutter Simulator 설치 Xcode 설치 iOS용 Flutter 앱을 개발하려면 Xcode가 설치된 Mac이 필요합니다. Xcode의 최신 안정 버전을 설치합니.. Flutter 2024. 1. 4. Kafka 간단한 개념 정리 (2) Kafka 핵심요소 Broker : 카프카 애플리케이션 서버 단위 Topic : 데이터 분리 단위. 다수 파티션 보유 Partition : 레코드를 담고 있음. 컨슈머 요청 시 레코드 전달 Offset : 각 레코드당 파티션에 할당된 고유 번호 Consumer : 레코드를 polling하는 애플리케이션 Consumer group : 다수 컨슈머 묶음 Consumer offset : 특정 컨슈머가 가져간 레코드의 번호 Producer : 레코드를 브로커로 전송하는 애플리케이션 Replication : 파티션 복제 기능 ISR : 리더 + 팔로워 파티션의 sync가 된 묶음 Rack-awareness : Server rack 이슈에 대응 Kafka Client Kafka 와 데이터를 주고받기 위해 사용하는 .. 기타 2023. 12. 22. Kafka 간단한 개념 정리 (1) Kafka Before Kafka 엔드투엔드 연결 방식의 아키텍쳐였고, 데이터 연동의 복잡성의 증가, 각기 다른 데이터 파이프라인 연결 구조 After Kafka 프로듀서/컨슈머 분리, 메시지 데이터 여러 컨슈머에게 허용, 높은 처리량을 위한 메시지 최적화, 스케일 아웃 가능 Kafka broker 실행된 카프카 app 서버 중 1대 3대 이상의 브로커로 클러스터 구성 주키퍼와 연동 주키퍼 : 메타데이터(브로커id, 컨트롤러id 등) 저장 n개 브로커 중 1대는 컨트롤러 기능 수행 컨트롤러 : 각 브로커에게 담당 파티션 할당 수행. 브로커 정상 동작 모니터링 관리. 누가 컨트롤러 인지는 주키퍼에 저장. Record 객체를 프로듀서에서 컨슈머로 전달하기 위해 Kafka 내부에 byte 형태로 저장할 수 있.. 기타 2023. 12. 21. Flutter의 엔진, Flutter vs React Native Flutter에 관한 정보들 flutter는 다른 보통의 언어들과 달리 운영체제와 직접적으로 통신하지 않는다고 합니다. 그 이유는 Flutter에는 C, C++로 만들어진 엔진이 존재하고, 그 엔진에서 dart 코드를 돌려주는 형태로 Flutter가 동작하기 때문이죠. 이 C, C++로 만들어진 엔진은 VM과 같은 역할을 수행하고, Canvas 같아서 무엇이든 그릴 수 있습니다. Flutter에서 아쉬운 점을 꼽아보자면 ios에서의 UI가 기본 IOS어플의 것들과는 살짝 다르다는 것입니다. Swift의 아이콘과 최대한 비슷하게 Flutter 개발자들이 연구하여 적용했지만, 완벽하게 같지는 않습니다. Flutter vs React Native Flutter 내가 원하는 UI로 디자인 할때 사용 Dart언어.. Flutter 2023. 11. 22. [Flutter] Exception caught by image resource service : HTTP request failed, statusCode: 403 노마드코더님의 Flutter로 웹툰 앱 만들기 를 수강하다가 6.8 Webtoon Card 부분에서 오류가 발생했습니다. 똑같이 따라했는데 오류가 난 것을 보니 아마 Flutter가 업데이트 되면서 해당 오류가 발생하는 것으로 보입니다. ════════ Exception caught by image resource service ════════════════════════════ HTTP request failed, statusCode: 403, [https://image-comic.pstatic.net/webtoon/800770/thumbnail/thumbnail\_IMAG21\_d2e1e7ee-fc83-4030-a1e7-200378bc088f.jpg](https://image-comic.pstatic.. Flutter 2023. 11. 10. 이전 1 2 3 4 5 6 ··· 11 다음 💲 추천 글