전체 글1104 [자바] 백준 2999 - 비밀 이메일 (java) 문제 : boj2999 필요 알고리즘 개념 구현, 문자열 문자열을 파싱해서 문제에서 제시된대로 구현해주는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. 우선 R과 C를 구해야 한다. R= 1; i--) if (len%i==0) return i;// 나누어 떨어지는걸 찾을 시 i 리턴 return 0; } 2. 이제 세로로 써져있던걸 가로로 출력해줘야 한다. R과 C를 구했으니 출력은 어렵지 않다. 초기 문자열.. 2023. 1. 27. [자바] 백준 9076 - 점수 집계 (java) 문제 : boj9076 필요 알고리즘 개념 정렬, 구현 정렬을 이용해 문제에서 제시된대로 구현해주는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 로직은 아래와 같다. 각 테스트마다 [A]____5개의 점수를 입력받는다. [B]____5개를 정렬한다. (정렬 후 1번째와 5번째 값은 최고점과 최저점이므로 무시한다.) [C]________if 2번째 점수와 4번째 점수가 4이상 차이난다면 KIN을 출력한다. [D]_.. 2023. 1. 25. [수강평] 토비의 스프링 부트 - 이해와 원리 - 강의 링크 : 인프런- 강의 보면서 따라해본 깃헙 코드 : github GitHub - nahwasa/toby-spring-boot: 토비의 스프링 부트 강의 보면서 코딩토비의 스프링 부트 강의 보면서 코딩. Contribute to nahwasa/toby-spring-boot development by creating an account on GitHub.github.com 스프링부트를 사용중이었지만 스프링 자체에 대해서는 거의 아는바가 없었다. 그래서 얼마전에 토비의 스프링 3.1을 구매했었는데, 마침 토비님이 스프링부트 강의를 내고 얼마 뒤 인프런에 올라온다는 소식이 들렸다. 2023-01-19에 올라오자마자 구매했었다. 일단 샀으니 살짝이라도 보자는 마음에 설날에 시간도 많겠다 보기 .. 2023. 1. 24. [자바] 백준 1422 - 숫자의 신 (java) 문제 : boj1422 필요 알고리즘 개념 정렬, 그리디 그리디로 접근해서 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 우선 K==N 이라고 생각해보자. 즉, 모든 숫자를 1번씩 배치해서 가장 큰 수를 만들어야 한다. 어떤 수를 먼저 배치하는게 이득일까? 어차피 만들어진 수의 자리수는 K개의 숫자들의 자리수의 합과 동일하다. 따라서 단순히 큰 수가 먼저오는건 의미가 없다. 예를들어 1과 100 중에 크다고 1.. 2023. 1. 24. [자바] 백준 3101 - 토끼의 이동 (java) 문제 : boj3101 필요 알고리즘 개념 수학, 구현 수학태그가 달려있긴한데, 약간의 규칙찾기 + 구현 문제인 것 같다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 대각선으로 지그재그로 작성된걸 잘 살펴봐보자. 1 -> 2 -> 4 -> 7 -> 11 -> 16 까지 등차수열처럼 증가한다.(증가비가 1, 2, 3,...) 그리고 36 -> 34 -> 31 -> 27 -> 22 에서 등차수열처럼 감소한다.(감소비가 2, .. 2023. 1. 23. [클린코드] 13장. 동시성 스터디 메인 페이지 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 13장. 동시성 ⚈ 동시성과 깔끔한 코드는 양립하기 어렵다. 스레드를 하나만 실행하는 코드는 짜기가 쉽다. ⚈ 동시성이 필요한 이유 동시성은 결합(coupling)을 없애는 전략이다. 즉, 무엇(what)과 언제(when)를 분리하는 전략이다. 스레드가 하나인 프로그램은 무엇과 언제가 서로 밀접하다. ⚈ 동시성의 미신과 오해 동시성은 항상 성능을 높여준다. -> 동시성은 때로 성능을 높여준다. 대기 시간이 아주 길거나 여러 프로세서가 동시에 처리할 독립적인 .. 2023. 1. 21. [클린코드] 12장. 창발성 스터디 메인 페이지 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 12장. 창발성 ⚈ ☆ 창발성 : 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체구조)에서 자발적으로 돌연히 출현하는 현상 ⚈ 착실하게 따르기만 하면 우수한 설계가 나오는 간단한 규칙 네 가지! (중요도 순) 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도를 표현한다. 클래스와 메서드 수를 최소로 줄인다. ⚈ 모든 테스트를 실행하라 테스트를 철저히 거쳐 모든 테스트 케이스를 항상 통과하는 시스템은 '테스트가 가능한 시스템'이다. 테스.. 2023. 1. 21. [클린코드] 11장. 시스템 스터디 메인 페이지 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 11장. 시스템 ⚈ 소프트웨어 시스템은 애플리케이션 객체를 제작하고 의존성을 서로 '연결'하는 준비 과정과 준비 과정 이후에 이어지는 런타임 로직을 분리해야 한다. ⚈ 시스템 생성과 시스템 사용을 분리하는 한 가지 방법으로, 생성과 관련한 코드는 모두 main이나 main이 호출하는 모듈로 옮기고, 나머지 시스템은 모든 객체가 생성되었고 모든 의존성이 연결되었다고 가정한다. 애플리케이션은 그저 객체를 사용할 뿐이다. ⚈ 팩토리 - 때로는 객체가 생성되는 시점.. 2023. 1. 21. [오브젝트] 책 내용 전체 정리 스터디 메인 페이지 (챕터별 정리 내용 따로 보기 가능)목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 오브젝트(조영호 저) 책 입니다. 들어가며 - 프로그래밍 패러다임01 패러다임의 시대- 현대인들에게 패러다임 → 한 시대의 사회 전체가 공유하는 이론이나 방법, 문제의식 등의 체계 (e.g. 천동설 → 지동설 로의 패러다임의 전환)- 이 책에서 얘기하는 패러다임 전환 - 절차형 패러다임에서 절차형 패러다임으로의 변화 02 프로그래밍 패러다임- ☆P.S 좋아하는 알고리즘 중 하나인 플로이드 와샬 알고리즘의 그 플로이드 와샬이 프로.. 2023. 1. 21. [오브젝트] 15장. 디자인 패턴과 프레임워크 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 오브젝트(조영호 저) 책 입니다. CHAPTER 15. 디자인 패턴과 프레임워크⚈ 디자인 패턴 - 협력을 일관성 있게 만들기 위해 재사용할 수 있는 설계의 묶음애플리케이션을 설계하다 보면 어떤 요구사항을 해결하기 위해 과거에 경험했던 유사한 해결 방법을 다시 사용하는 경우가 있다.이처럼 소프트웨어 설계에서 반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법을 디자인 패턴이라고 부른다.디자인 패턴의 목적은 설계를 재사용하는 것이다.디자인 패턴은 다양.. 2023. 1. 21. 이전 1 ··· 31 32 33 34 35 36 37 ··· 111 다음