본문 바로가기

JAVA170

[Lv.2] 프로그래머스 - 삼각 달팽이 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    이해하기삼각 달팽이 문제를 이미 한 번 풀어본 적이 있지만 (사실상 풀이 참고 & 스터디원분의 설명 듣기) 기억나는 것이라고는 '이런 문제가 나오면 일단 왼쪽으로 싹 밀어보세요!' 라는 스터디원분의 설명뿐...^^이거라도 기억나는게 어디야 하고 일단 다 밀어봤다. 위처럼 정리한 후, 방향은 세 가지라는 것까지 생각했다. (아래쪽, 오른쪽, 왼쪽 위 대각선)그리고 예시로 나온 n = 4, n= 5, n = 6  삼각형을 그려보며 맨 마지막에 각각 10, 15, 21이 오게 된 이유에 대해 생각해보았다.다른 블.. 2024. 6. 10.
[Lv.2] 프로그래머스 - 택배상자 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기택배 상자는 1번부터 n번까지 순서대로 컨베이어 벨트에 놓여 전달된다.컨베이어 벨트 = 큐택배 기사님의 배달 순서에 맞춰야 함 = order 배열보조 컨베이어 벨트 = 스택몇 개의 상자를 실을 수 있는지 return문제를 보았을 때 한 방향으로만 진행되는 컨베이어 벨트는 큐와 같다고 생각하였고, 보조 컨베이어 벨트는 가장 마지막에 보관한 상자부터 꺼낸다는 점에서 스택과 같다고 생각하였다. 자료구조까지는 떠올렸지만 문제는 항상 구현...^^ 일단 큐에 1 ~ n까지 add한다.for문을 돌면서stack이.. 2024. 6. 7.
[객체지향] 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.