전체 글400 [객체지향] Ch.2 이상한 나라의 객체 객체지향 패러다임은 지식을 추상화하고 추상화한 지식을 객체 안에 캠슐화함으로써 실세계 문제에 내재된 복잡성을 관리하려고 한다. 객체를 발견하고 창조하는 것은 지식과 행동을 구조화하는 문제다.- 레베카 워프스브록 (Rebecca Wirfs-Brock) 객체지향과 인지 능력인간은 본능적으로 세상을 독립적이고 식별 가능한 객체의 집합으로 바라본다. 많은 사람들이 객체지향을 직관적이고 이해하기 쉬운 패러다임이라고 말하는 이유는 객체지향이 세상을 자율적이고 독립적인 객체들로 분해할 수 있는 인간의 기본적인 인지 능력에 기반을 두고 있기 때문이다. 인간이 직접적으로 지각할 수 있는 대부분의 객체는 물리적인 경계를 지닌 구체적인 사물이다. 그러나 인간의 인지 능력은 물리적인 한계를 넘어 개념적으로 경계 지을 수 있.. 2024. 6. 6. [Lv.2] 프로그래머스 - 연속 부분 수열 합의 개수 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이해하기길이를 1부터 elements의 길이까지 늘려가며 연속 부분 수열을 만들고, 각각의 합을 저장하는 문제이다.단, 중복이 없어야 한다고 했으니 Set을 활용하면 될 것 같은데... 연속 부분 수열 부분에서 막혔다. 참고한 블로그⬇️ [Java/자바] 프로그래머스 Lv2 - 연속 부분 수열 합의 개수 (Set)문제 설명 철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니hstory0.. 2024. 5. 30. [Lv.2] 프로그래머스 - 프로세스 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이해하기이미 한 번 풀었던 문제인데도 다시 보니 기억이 안 났다...ㅎㅎ풀이하고 다시 보니 문제에 힌트가 다 있었다.큐우선순위→ 우선순위 큐를 사용해라! 문제풀이import java.util.*;class Solution { public int solution(int[] priorities, int location) { int answer = 0; PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); .. 2024. 5. 30. [Lv.2] 프로그래머스 - 귤 고르기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이해하기문제를 보고 Map을 사용해야겠다! 까지는 떠올렸는데 귤의 개수가 많은 순서대로 정렬할 방법이 떠오르지 않았다. 참고한 블로그⬇️ [프로그래머스] 귤 고르기(Java, 자바)귤 고르기해당 문제는 HashMap을 활용해 문제를 해결했습니다.1\. 주어진 배열의 정수를 HashMap의 key값으로 하여 정수의 개수를 저장합니다.2\. 개수로 저장된 value를 ArrayList로 변환해 내림차순으로velog.io 서치해보니 Map에 저장된 value들을 ArrayList로 변환하여 정렬할 수 있다고 한다!.. 2024. 5. 30. [Lv.2] 프로그래머스 - 주차 요금 계산 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이해하기fees 배열에는 다음과 같은 정보가 들어있다.기본 시간기본 요금단위 시간단위 요금records에는 각 차의 입출 시간, 차 번호, 입출 여부가 들어있다. 각 차가 들어온 시간과 나간 시간을 계산하고, 누적된 시간에 대한 요금을 계산한다.단, 출차 처리가 되지 않았을 경우 23:59에 출차한 것으로 계산한다. 내용이 너무 길어서 복잡했지만 정리하면 생각보다 간단했다.다만 구현이 어려울 뿐 ㅎㅎ... 참고한 블로그⬇️ [Java/자바] 프로그래머스 Lv2 - 주차 요금 계산 (HashMap, TreeM.. 2024. 5. 30. [객체지향] Ch.1 협력하는 객체들의 공동체 객체지향의 목표는 실세계를 모방하는 것이 아니라 오히려 새로운 세계를 창조하는 것이다. 하지만 실세계에 대한 비유가 객체지향의 다양한 측면을 이해하고 학습하는 데 매우 효과적이기에 여전히 사용되고 있다.객체를 스스로 생각하고 결정하는 현실 세계의 생명체에 비유하는 것은 상태와 행위를 '캡슐화'하는 소프트웨어 객체의 '자율성'을 설명하는 데 효과적이다. 현실 세계의 사람들이 암묵적인 약속과 명시적인 계약을 기반으로 협력하며 목표를 달성해 나가는 과정은 '메시지'를 주고받으며 공동의 목표를 달성하기 위해 '협력'하는 객체들의 관계를 설명하는 데 적합하다. 실세계의 사물을 기반으로 소프트웨어 객체를 식별하고 구현까지 이어간다는 개념은 객체지향 설계의 핵심 사상인 '연결완전성(seamlessness)'을 설명하.. 2024. 5. 28. 이전 1 ··· 13 14 15 16 17 18 19 ··· 67 다음