일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백준
- 도둑질
- 부동소수점
- 컴퓨터구조
- java
- 구현
- Comparable
- 프로그래머스
- 자바
- swea
- 메뉴 리뉴얼
- 조합
- 운영 체제
- Comparator
- 코테
- 요세푸스
- 베스트 앨범
- 표 편집
- 데이터
- 고정소수점
- 기능 개발
- 티스토리챌린지
- 다단계 칫솔 판매
- 괄호 회전하기
- 오블완
- 컴퓨터 구조
- Call-by-Value
- sw expert academy
- 순열
- 토마토
- Today
- Total
목록자바 (14)
감자는 아직 꿈을 꾼다.
알고리즘 : DP DP는 거의 아이디어 문제 인것 같다.내 방식대로 풀고나서 다른 사람들의 블로그 글을 보았는데 솔직히 잘 이해 안되는 부분도 있었다.하지만 내 방식은 그래도 이해하기 쉽지 않나? 싶다.한번 천천히 읽어 보길 권장합니다.사실 처음 풀어보는 Lv.4문제라서 겁먹었는데 생각만큼은 아니였다.문제설명링크참조https://school.programmers.co.kr/learn/courses/30/lessons/42897# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내 풀이 우선 코드에 해당 설명의 주석을 달아 놓았다.혹시 모르거나 피드백할 부분 있으면 답글 부탁드립니다. 처음으로 연상할 수 있..
알고리즘 : BFS토마토 시리즈로서 2차원인 7576번과 3차원인 7569번을 설명하도록 하겠다.문제설명 : 7576번 토마토https://www.acmicpc.net/problem/7576링크 참조 내 풀이 이 문제는 시작점이 여러개 일경우의 BFS 문제이다.문제에서도 주어진 것처럼 토마토의 위치가 여러군데에서 시작하고BFS를 따로따로 진행하면 dist배열 초기화가 먼저 이루어져서 겹치는 부분에 대해 처리가 정확히 되지 않는다.간단하게 이 문제를 풀이하면 시작점들을 큐에 집어넣고 BFS를 시작하면 된다.왜냐하면 큐의 특성상 FIFO 이므로 시작점들을 넣고 BFS를 돌리면 순차적으로 각 시작점 위치에서 BFS가 돌아가면서 실행이 되기 때문이다. 큐의 특성으로 거리순으로 저장되는 것 만약에 스택이였으면 하..
String 문제자바의 String 메소드를 활용해서 풀 수 있는 문제3가지 방식으로 풀이를 설명한다문제 설명https://www.acmicpc.net/problem/9996 내 풀이 주어진 패턴을 * 를 기준으로 split하여 앞부분과 뒷부분을 나누고substring을 활용해서 주어진 문자열과 같은지 확인한다.주의할 점은 주어진 문자열이 first와 second의 합보다 작은 것에 예외처리또한 split할 때 그냥 * 로 하면 아래와 같은 에러가 뜨게된다.**Dangling meta character ' * ' near index 0+, * , ^ 로 나누고자 할 때도 발생하는 오류로**앞에 \ 기호 두개를 붙여야 된다. import java.io.BufferedReader;import java.io...
😁Call - By - Value vs Call - By - ReferenceC/C++를 경험한 사람이라면 모두 위 주제에 대하여 어느 정도는 알고 있을 것이다.포인터,&주소참조자? 이런 개념들 말이다. 하지만 오늘 C/C++에 대해 말하려 하는 게 아니다. 위의 기준은 인수를 전달하는 방식의 차이로 구분된다.자바는 어떻게 인수를 전달할까? 결론은 자바는 무조건 Call - By - Value 다!! 🖥️Call - By - Value ?-> 변수의 복사본을 전달 ( 값을 복사 ) 인수로 변수의 복사값을 전달하는 방식이다. 함수를 호출하면 스택프레임에 영역이 할당된다.main역시도 함수고 스택영역에 할당 되어있다.main에서 지역변수 a,b를 선언하고 새롭게 함수를 호출해서 인자로 전달하면main의 ..
알고리즘 : 시뮬레이션문제 설명https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 🪟내 풀이 삼성식 시뮬레이션 문제이다.물론 실제 삼성전자 코테를 이번 하반기에 가서 본 입장으로선 그것보다는 귀여운 수준의 문제지만생각지도 못한 실수를 해서 고생했다.내가 한 실수는 set에 자표를 저장하고 사용할 때split으로 나눠서 쓰는게 아니라 단순하게 charAt한다음 - '0'해서 사용한 것이다.이렇게 사용하면 당연히 안되는 게, 좌표 크기가 2자리 수가 되면 사고가 나는 것이다.어이없는 실수를 했..
Comparable 와 Comparator클래스의 데이터 멤버를 사용해서 객체를 정렬하기 위한 인터페이스간단한게 표현하면 이렇다.자바의 기본 자료형들로 Collection이나 Array가 이루어져 있을 경우 기본적인 sort함수 호출로도 정렬이 가능하다.하지만 우리가 생성한 객체에 대해선 불가능하다.그 이유는 자바가 비교 기준을 모르기 때문이다.우리가 만든 클래스에 대해 비교 기준을 알지 못하므로 우리는 비교 기준을 정의해야된다.Comparable과 Comparator는 비교 기준을 정의한 것Comparator객체 정렬기준을 외부에서 지정한 것주로 하나의 객체를 여러가지 기준으로 정렬할 때 사용된다.util패키지에 존재하므로 Import해줘야된다.Comparable객체 자기 자신이 정렬 기준을 가진 것자..
알고리즘 : 트리 구조 떠올리기별다른 알고리즘 보단 간단한 아이디어 문제 같다.문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이가장 단순한 풀이가 아닐까 생각한다.우선 처음에는 부모와 자식노드들의 리스트로 클래스를 구성하여 구현할 생각이였으나,결국 판매액을 구한 다음, 자신의 추천인(부모)에게 수수료를 제공하는 방식으로 진행됨 생각해단순하게 부모 만 저장하는 HashMap을 만들어서 활용했다.결국 루트인 민수한테 가는 것까지 고려서 10프로만 먹는 구조이기에while문으..
JAVA 언어를 사용합니다.순열과 조합은 항상 간단한 것 같으면서 나를 헷갈리게 하였고, 이 참에 정리를 하려고 한다.백트래킹순열서로다른 수에서 뽑아서 정렬하는 경우의 수정렬이기에 순서가 존재한다.조합서로다른 수에서 뽑을수 있는 조합의 수순서가 중요하지않고 중복이 없다,아래의 코드는 순열,중복순열,조합,중복조합의 기본 형태를 나타내었다.중요한 것은 이러한 기본코드를 이해해야지 조합이나 순열을 활용해서 문제에 맞게 풀어 낼 수있다는 것이다.조합을 활용한 풀이는 아래 링크에 있다. 확인해보는 것을 추천한다.https://dreaming-potato.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-Lv2-%EB%A9%94%EB%..
알고리즘 : 해시 + 조합처음엔 비효율적으로 각 String을 character 변환시켜 set에 저장하여 수행했다.이후엔 조합으로 풀이를 진행했다.문제 설명레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다.기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다.단, 코스요리 메뉴는 최소 2가지 이상의 단품메뉴로 구성하려고 합니다. 또한, 최소 2명 이상의 손님으로부터 주문된 단품메뉴 조합에 대해서만 코스요리 메..
알고리즘 : 간단한 정렬?? + Hash사실상 정렬 문제로 도 무방할 정도인 것같다.별다른 알고리즘이 들어가진 않는 거 같다.그리고 다른 사람 풀이를 보면서 댓글을 봤는데 사람들이 이 문제를 지저분한 문제라고 생각하는 것 처럼 보였다.하지만 삼성코테를 준비해보면서 느낀건데 이정도면 귀여운 수준인거 같다.LV3 난이도의 문제는 아닌거 같다.문제 설명스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다.속한 노래가 많이 재생된 장르를 먼저 수록합니다.장르 내에서 많이 재생된 노래를 먼저 수록합니다.장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다.노래의 장..