1. 개요객체지향 프로그래밍에서 역할, 책임, 협력은 핵심 요소입니다. 유사한 협력을 하나의 추상화된 협력으로 만들기 위해 역할이 사용됩니다. 2. 협력 추상화를 위한 역할 사용2.1 협력의 유사성세 가지 협력이 주어지고, 그 과정이 유사하므로 하나의 협력으로 다루고 싶은 경우, 역할이 사용될 수 있습니다.2.2 역할의 정의역할은 협력 과정 속에서 특정 객체가 수행하는 책임의 집합을 나타냅니다. 예를 들어, '판사'와 '증인'의 역할을 통해 세 가지 협력을 하나로 추상화할 수 있습니다.3. 역할 대체의 조건3.1 메시지 이해객체가 다른 역할을 대체하려면, 해당 역할이 수신할 수 있는 메시지를 동일한 방식으로 이해해야 합니다.3.2 동일한 책임 수행동일한 역할을 수행할 수 있는 객체들은 협력 내에서 동일한..
https://www.acmicpc.net/problem/1065 package org.example.한수; import java.io.BufferedReader; import java.io.InputStreamReader; import java.text.MessageFormat; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { FastReader fr = new FastReader(); int n = fr.nextInt(); solution(n); // 99 } private static void solution(int n) { int hanCount = 0; for (int x =..
크레인 인형뽑기 게임 import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; class Solution { public int solution(int[][] board, int[] moves) { List list = new ArrayList(); int count = 0; for (int move : moves) { for (int j = 0; j = 2 && Objects.equals(list.ge..
123456789101112131415161718192021222324252627282930313233class Solution { public String solution(String new_id) { new_id = new_id.toLowerCase().replaceAll("[^a-z\\d\\-_.]*", ""); new_id = new_id.replaceAll("\\.{2,}", "."); new_id = new_id.replaceAll("^[.]|[.]$", ""); if (new_id.isEmpty()) { new_id = "a"; } if (new_id.length() >= 16) { new_id = new_id.substring(0,15).replaceAll("[.]$", ""); } els..
프로그래머스 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package test; /* */ public class lv1숫자_문자열과_영단어 { public static void main(String[] args) { String s = "one4seveneight"; Solution2 solution2 = new Solution2(); solution2.solution(s); }} class Solution2 { public int solution(String s) { String[] words = new String[]{"zero", "one", "two", "three"..
import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); Arrays.sort(completion); int i = 0; for ( i = 0; i < completion.length; i++) { if (!participant[i].equals(completion[i])) { break; } } return participant[i]; } }