본문 바로가기

728x90

(91)
[JavaScript] 숫자 세자리마다 콤마 찍기 [JavaScript] 숫자 세자리마다 콤마 찍기 function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } 출처 http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript How to print a number with commas as thousands separators in JavaScript I am trying to print an integer in JavaScript with commas as thousands separators. For e..
[알고리즘] 구현 - 시각 ( java ) [알고리즘] 구현 - 시각 ( java ) 문제: 정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오. 입력조건 첫째 줄에 정수 N이 입력된다. ( 0
[알고리즘] 구현 - 상하좌우 ( java ) [알고리즘] 구현 - 상하좌우 ( java ) 문제: 계획서가 주어졌을 때 여행가 A가 최종적으로 도착할 지점의 좌표를 출력하는 프로그램을 작성하시오. 입력조건 첫째 줄에 공간의 크기를 나타내는 N이 주어진다. ( 1
[알고리즘] Greedy - 1이 될 때까지 ( java ) [알고리즘] Greedy - 1이 될 때까지 ( java ) 문제: 어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두번째 연산은 N이 K로 나누어 떨어질때만 선택할 수 있다. 1. N에서 1을 뺀다. 2. N을 K로 나눈다. 입력 조건 첫째 줄에 N과 K가 공백으로 구분되며 각각 자연수로 주어진다. 이때 입력으로 주어지는 N은 항상 K보다 크거나 같다. 출력 조건 첫째 줄에 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 횟수의 최솟값을 출력한다. 코드 import java.util.*; class Main { public static void main(String[] args) { Scanner scan = new Scanner(Sys..
[알고리즘] Greedy - 숫자 카드 게임 ( java ) [알고리즘] Greedy - 숫자 카드 게임 ( java ) 문제: 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다. 룰 ( rule ) 숫자가 쓰인 카드들이 N * M 형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 그 다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. 입력조건 첫째 줄에 숫자 카드들이 놓인 행의 개수 ..
[알고리즘] Greedy - 큰 수의 법칙 ( java ) [알고리즘] Greedy - 큰 수의 법칙 ( java ) 문제: 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다. 단, 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 입력조건 첫째 줄에 N(배열의 크기), M(숫자가 더해지는 횟수), K의 자연수가 주어지며, 각 자연수는 공백으로 구분한다. 둘째 줄에 N개의 자연수가 주어진다. 각 자연수는 공백으로 구분한다. 단, 각각의 자연수는 1이상 10,000 이하의 수로 주어진다. 입력으로 주어지는 K는 항상 M보다 작거나 같다. 출력조건 첫째 줄에 큰 수의 법칙을 따라 더해진 답을 출력한다. 내 코드 import java.util.*; class Main ..
[Spring] PSA ( Portable Service Abstraction ) [Spring] PSA ( Portable Service Abstraction ) PSA: 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하려는 추상화 구조 Spring은 서블릿 기반으로 작동함에도 불구하고 서블릿 코드로 작성하지 않아도 된다. 우리가 사용할 땐, 단지 @Controller, @GetMapping, @PostMapping 등 여러 애노테이션을 붙혀 사용한다. 이렇게 작성된 Spring 코드는 내부적으로 서블릿으로 변경되어 동작하지만 서블릿 기술은 추상화 계층에 의해 숨겨지게 된다. 이렇게 추상화 계층을 사용해서 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공해주는 것을 Service Abstraction이라 한다. // 추후 추가 예정 
[Spring] AOP ( Aspect Oriented Programming ) [Spring] AOP ( Aspect Oriented Programming ) Spring AOP ( Aspect Oriented Programming ) 관점 지향 프로그래밍 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 각각 모듈화하는 것 흩어진 관심사 ( Crosscutting Concerns ): 소스 코드 상에서 다른 부분에 계속 반복해서 쓰는 코드들 취지: 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것 -> 관점 지향 프로그래밍 -> 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나느어서 보고 그 관점을 각각 모듈화하겠다는 것 다양한 AOP 구현 방법 컴파일 A.java -> (AOP) -> A.class..

728x90
반응형