본문 바로가기

분류 전체보기111

P5525. IOIOI 문제: https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net 설명 50점 풀이 첫번째 풀이는 부분 문자열(P)를 만들고, I와 O로만 이루어진 문자열(S)와 비교하였다. 이 경우에 제한 조건에 걸려서(시간초과로 예상) 50점 풀이에 그쳤다. import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IO.. 2023. 8. 24.
P1389. 케빈 베이컨의 6단계 법칙 - 문제: https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 설명 1. 모든 정점사이의 최단거리를 구한다. 2차원 배열의 모든 값을 INF로 초기화하고, (1,1), (2,2), ... (i,i)인 값을 0으로 초기화한다. 2. 간선은 양방향으로 초기화한다. arr[1][3] = arr[3][1] = 1 3. 플로이드 와샬 알고리즘을 실행하여, 최단 경로를 찾는다. arr[i][j] > arr[i].. 2023. 8. 24.
[☁️ 구름톤 챌린지] 2주차 학습일지 - 1 문제 6. 문자열 나누기 이번 문제는 각 단계마다 해당 자료형을 어떻게 사용하면 좋을지 생각하면 좋을 것 같다. import java.io.*; import java.util.*; import java.lang.*; class Main { static int N; static String S; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); S = br.readLine(); int result = 0; // 나올 수 있는 조합 리스트 List wordLi.. 2023. 8. 23.
[☁️ 구름톤 챌린지] 1주차 학습일지 - 2 5일차 미션: 이진수 정렬 10진수를 2진수로 바꾸고 다차원 정렬하여 문제를 풀이한다. 나의 풀이 import java.io.*; import java.util.*; class Main { static int N, K; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] s = br.readLine().split(" "); N = Integer.parseInt(s[0]); K = Integer.parseInt(s[1]); // 2차원 배열로 10진수와 2진수를 같이 정렬한다. String[] s_number.. 2023. 8. 20.
[☁️ 구름톤 챌린지] 1주차 학습일지 - 1 정글 나만무까지 끝나고 이제 취준이 시작되었다.(더 본격적인 정글 시작!) 😱 무엇부터 하면 좋을까 하다가 알고리즘 공부를 다시 시작한다... 마침 구름톤 챌린지라는 좋은 프로그램이 있길래 하나씩 풀이하면서 문법들을 다시 공부해보겠다. +) 학습일지를 꾸준히 작성하면 네이버 페이를 준다는 사실! 1일차 미션: 운동 중독 플레이어 수식에 따라 결과를 계산한다. 이때 소수점을 잘 처리하는 것이 중요하다. java에서 소수점 계산을 사용하려면 double 형을 사용한다. 나의 풀이 import java.io.*; import java.util.*; class Main { static int w, r; public static void main(String[] args) throws Exception { Buf.. 2023. 8. 18.
섹션2. 스프링 핵심 원리 이해1-예제 만들기 김영한 선생님의 스프링 핵심 원리 - 기본편 강의를 듣고 정리하였습니다. 프로젝트를 생성하고 요구사항을 확인하고 설계한다. 회원, 주문, 할인 도메인을 설계하고 개발한 후, 실행 및 테스트한다. 프로젝트 생성 본 프로젝트는 순수한 자바 코드로 프로젝트를 작성한다. 다만 초기 환경 설정을 위해 spring initializer로 프로젝트를 설정하도록 하겠다. Dependency 설정을 제외하고 설정한 후, GENERATE 버튼을 클릭한다. Spring Boot 버전은 SNAPSHOT, M 접미사가 붙은 경우를 제외한다. SNAPSHOT: 아직 개발 중인 버전으로, 언제든지 기능이 추가되고 삭제될 수 있는 불안정한 버전 M(Milestone build): 완전하지 않은 기능이 포함된 버전 비즈니스 요구사항과.. 2023. 7. 8.
섹션1. 객체 지향 설계와 스프링 스프링이란? 스프링이라는 단어는 문맥에 따라 스프링 DI 컨테이너 기술, 스프링 프레임워크, 스프링 부트와 스프링 프레임워크 등을 포함한 스프링 생태계로 해석된다. 스프링 생태계 스프링 프레임워크, 스프링 부트, 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 등 다양한 생태계로 구성되어 있다. 스프링 프레임워크, 스프링 부트는 필수다. 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜젝션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 테스트: 스프링 기반 테스트 지원 언어: 코틀린, 그루비 스프링 부트 최근.. 2023. 7. 7.
[Onboarding] 문제1, 문제2 지난 가을에 공부한 참여한 우테코 프리코스 과제들을 리펙토링하면서 부족한 내용을 채워보려고 한다! 화이팅 :) 온보딩 과제에서 얻어가고 싶은 내용들은 헷갈리는 문법 정리 위주로 공부가 될 것 같다. 더불어 이미 제출한 사람들의 결과물을 보면서 부족한 부분을 채울 예정이다. https://github.com/woowacourse-precourse/java-onboarding GitHub - woowacourse-precourse/java-onboarding: 온보딩 미션을 진행하는 저장소 온보딩 미션을 진행하는 저장소. Contribute to woowacourse-precourse/java-onboarding development by creating an account on GitHub. github... 2023. 6. 28.
P1107. 리모컨 문제: https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 설명 (이동하려고하는 채널 번호-현재 위치) 절댓값을 계산하여 초기값을 지정한다. 0부터 999999까지 이동하면서 도달할 수 있는 값인지 확인한다.(자릿수에 broken 숫자가 있는지 없는지 확인한다.) 자릿수합(이동하면서 하나씩 누르니까) + (+, - 버튼만으로 도달할 수 있는 횟수) 를 계산해서 더 작은 값으로 갱신한다. 도달 여부 확인 확인하는 값이 0이라면 -> .. 2023. 6. 27.