본문 바로가기

전체 글108

[☁️ 구름톤 챌린지] 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.
[크래프톤 정글] 85일 - 🛫 오늘 한 일 👩‍💻 - 3주차 마무리 - 알고리즘 문제 풀이 - 객체지향 사실과 오해 책 읽기 알고리즘 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 3주차 Pintos 3주차는 Virtual Memory를 구현하는 것이 과제이다. 많은 분들이 이 과제는 구현할 것도 많고, 내용도 많아서 쉽지 않다고 많이 들었는데 막상 해보니 어렵기도 했지만 재미난 부분도 있었다고 생각한다. 과제는 크게 3가지로 구분된다. - Memory Management - Anonymous Page.. 2023. 6. 27.
[크래프톤 정글] 81일 - 즐거운 금요일! 오늘 한 일 👩‍💻 - 알고리즘 문제 풀이(1965: 상자넣기) - Pintos - Anonymous page, Stack growth 알고리즘 https://www.acmicpc.net/problem/1965 1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 www.acmicpc.net 프로그래머스도 풀고 싶지만... Pintos 때문에 정신없다... 그래도 다음주면 끝나니까! 좀만 더 힘을 내봐야지💪 Pintos Pintos는 생각보다 구현할 것이 너무 많~다!!! Anonymous Page [PROJECT3] Anonymous Page(myw.. 2023. 6. 24.
[Project3] Virtual Memory(4) - Stack Growth 프로젝트 2에서 스택은 USER_STACK에서 시작하는 한 페이지로 제한되어있으며, 해당 사이즈 내에서만 프로그램이 실행될 수 있었다. 이번 과제에서는 스택이 현재 크기 이상으로 커지면, 필요에 따라 페이지를 추가 할당한다.(= 동적 할당) 이때 추가 페이지 할당은 스택 접근으로 보이는 경우에만 할당한다. 스택 접근과 다른 접근을 구분하는 방법을 고민해야 한다. 사용자 프로그램이 스택 포인터 아래에서 쓰기 작업을 수행하면 버그가 발생한다. 일반적인 OS는 “Signal”(여기서는 쓰기가 신호가 된다!)을 전달하기 위해 언제든지 프로세스를 중단할 수 있다. 이 중단으로 인해 스택 데이터는 수정될 수 있다. X86-64 아키텍처의 PUSH 명령은 스택 포인터를 조정하기 전에 접근 권한을 확인한다. 만약 스택.. 2023. 6. 21.