전체 글

주섬주섬 올리기
Spring

Spring - 역할과 구현, 의존 관계 주입의 필요성

역할과 구현 역할 : 인터페이스 구현 : 인터페이스를 구현한 클래스, 객체 예시 주문을 결정하는 인터페이스 OrderService 의 구현 클래스 OrderService 가 있습니다. 할인율을 결정하는 인터페이스 DiscountPolicy 의 구현 클래스 FixDiscountPolicy 와 RateDiscountPolicy 가 있습니다. OrderServiceimpl 클래스가 할인율을 정하기 위해 할인율 결정 역할을 가져와 사용하고 싶습니다. 먼저 고정 할인율을 적용한다면 아래와 같이 구현하면 됩니다. public class OrderServiceimpl implements OrderService { private final DiscountPolicy discountPolicy = new FixDisco..

정보

[ Windows 10 ] 환경 변수 path 편집창 한 줄, 여러 줄 변경

Windows 10의 환경 변수 중 Path는 몇 년 전 업데이트 후 사용하기 편하게 변화되었다. 하지만 최근에 GUI가 업데이트 전으로 변하는 일이 생겼다. 마소 홈피에서도 원인을 모르겠단 글만 있었는데, 역시 스택오버플로우는 달랐다. 해당 문제는 Path 변수 내에 등록되어있는 SystemRoot%\system32 가 관리하는 것 같단 의견이 있었다. Path는 가장 앞(위)에 있는 변수 순으로 우선 순위가 정해지기 때문에 SystemRoot%\system32 를 변수 값 가장 앞쪽에 넣어주면 해결된다. JAVA를 처음 설치하거나 할 때, 환경변수 설정으로 JAVA_HOME을 추가하고 위로 이동을 통해 우선 순위를 제일 높게 설정하라는 도움글들이 많다. 이렇게 하면 위와 같은 문제가 발생할 수 있을 ..

Problem Solving

[ 백준 ] 22859 HTML 파싱 (정규표현식 풀이)

문제 22859번: HTML 파싱 웹 크롤링을 하여 HTML을 가공하는 프로그램을 만들려고 한다. HTML은 아래와 같이 구성되어있다. (문제 일반화를 위해 실제 HTML 소스 코드 및 태그가 실제 존재하는 것과 다를 수 있다.) paragraph 1 www.acmicpc.net 코드 import java.io.*; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRe..

Java

[ java ] 정규 표현식(Regex), Pattern, Matcher

정규 표현식 (Regex) 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다. 주로 DB 관련 개발의 데이터 검증, 파싱 등에 많이 쓰이는 것으로 보입니다. 자주 사용되는 정규 표현식 메타문자 기능 매치 예시 . 임의의 한 문자 (\ 제외) "ab.d" : abcd, abdd, ab!d ... * 0번 이상 발생 "ab*c" : ac, abc, abbc … + 1번 이상 발생 "ab+c" : abc, abbc ,,, : *과의 차이 : ac는 포함x ? 0 또는 1번 발생 "Colou?r" 은 u가 0 또는 1번 : color, colour {n} n번 일치 "a{2}bc" : aabc {n,} n번 이상 일치 "a{2,}bc" : aabc, aaabc … {n,m} n번 이상 m번..

Problem Solving

[ 프로그래머스 / java ] 후보키 ( 2019 KAKAO BLIND RECRUITMENT )

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.ArrayList; import java.util.HashSet; import java.util.Set; public class Solution { ArrayList cKeyList; int n, m; public int solution(String[][] relation) { cKeyList = new ArrayList(); // 후보키 리스트 m = relation[0].length; // m개의 컬럼 n = relation.length; // n개의 데이터 // 완전 ..

Problem Solving

[ 프로그래머스 / java ] 매칭 점수 ( 2019 KAKAO BLIND RECRUITMENT )

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { static class Page{ private int index; private String url; private double baseScore; private double linkScore; private double linkScoreForOther; private final List linkList; Page(int index){ this.index = index; this.baseScore = 0.0; this.linkScore ..

Problem Solving

[ 프로그래머스 / java ] 길 찾기 게임 ( 2019 KAKAO BLIND RECRUITMENT )

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { static class Node { private final int num; private final int x; private final int y; private Node leftChild; private Node rightChild; public Node(int num, int x, int y) { this.num = num; this.x = x; this.y = y; this.leftChild = this.rightChild = n..

Problem Solving

C++) 백준 1759 암호 만들기

1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 코드 #include using namespace std; vector code; vector tmp; int main() { int n, m; char c; cin >> n >> m; for (int i = 0; i > c; code.push_back(c); } sort(code.begin(), cod..

소년조
BoyJo-dev