전체 글

전체 글

    [백준] 2741 N찍기 Java

    [백준] 2741 N찍기 Java

    N찍기 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 예제 입출력 문제풀이 1. Scanner + sout 이번 문제는 풀이를 할 것 없이 매우 간단한 문제였기에 기본적으로 풀 수 있는 Scanner와 sout을 이용한 방법, Scanner 대신 BufferedReader를 사용한 방법 그리고 마지막으로 sout 대신 BufferedWriter까지 사용한 방법 세 가지로 문제를 풀어보았다. //Scanner 클래스와 sout으로 작성 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc..

    [백준] 15552 빠른 A+B Java

    [백준] 15552 빠른 A+B Java

    빠른 A + B 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만..

    1일 1로그 100일 완성 IT지식 - SOFTWARE 27

    1일 1로그 100일 완성 IT지식 - SOFTWARE 27

    작문과 비슷한 프로그래밍 소프트웨어 품질 서비스 제공업에 TIOBE에서 매년 프로그래밍 언어의 순위를 정리, 제공하며 평가 기준은 아래와 같다. 프로그래밍 언어를 이용하는 엔지니어의 수 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수 Google, Bing, Wikipedia 등에서 프로그래밍 언어가 검색된 횟수 C(Programming Language) C는 1972년 켐 톤슨과 데니스 리치가 벨 연구소에서 일할 당시 새로 개발된 유닉스 운영체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 켐 톤슨이 66년에 먼저 개발된 BCPL(Basic Combined Programming Language)를 발전시켰다는 의미에서 B라고 명명했고, 데니스 리치가 이를 개선하여 C언어가 탄생하였다. 유닉스 시스템..

    20220731_WIL(feat.항해 3주차 회고) /  DI, IoC, Bean

    20220731_WIL(feat.항해 3주차 회고) / DI, IoC, Bean

    들어가며 항해99 3주차도 이제 마무리되어가고 있다. 회고에 앞서 Java Spring Boot를 이용하며 끊임없이 접하게 될 DI, IoC, Bean에 대한 개념정리를 해보고자 한다. 강한 결합의 문제점 강한 결합은 어떠한 객체가 다른 객체에 강한 의존성을 가지고 있음을 뜻한다. public class Controller1 { private final Service1 service1; public Controller1() { this.service1 = new Service1(); //new 생성자를 통한 객체 생성이 강한 결합을 부여 } } 위 코드를 예시로, Controller1은 service1라는 멤버 타입 변수에 강한 의지를 하게된다. 즉 Controller1은 service1이 없으면 정의할..

    [백준] 2480 주사위 세개 Java

    [백준] 2480 주사위 세개 Java

    2480 주사위 세개 문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 6..

    20220726_개발로그(2)_특정게시글 조회(feat.Repository Method)

    20220726_개발로그(2)_특정게시글 조회(feat.Repository Method)

    특정게시글 조회 앞서 게시글 목록 조회 기능을 완성시켰고 이번에 이어서 추가할 기능한 특정 게시글을 조회하는 기능이다. 게시글이 생성될 때 입력되는 내용은 유저이름 패스워드 제목 내용 작성시간 총 5개지만, 특정게시글 조회 GET API를 사용하면 패스워드를 제외하고 나머지 4개 내용만을 가져와야한다. 이를 위해서 우선 Controller 단에서 고민을 해보았다. Controller(1차작성) @GetMapping("/api/posts/{id}") public Optional readPostById(@PathVariable Long id){ return postRepository.findById(id); } 처음 작성한 코드는 위와 같았다. POST 1차 GET 1차 위 코드로 특정 게시글의 내용을 가져..