분류 전체보기 381

[백준 - 10815] 숫자 카드 - Java

문제 설명 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 소스 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.Map; import java.util.StringTo..

Algorithm/BOJ 2022.03.08

2022 마스터즈 코스(백엔드) 41일차 회고(2022. 3. 7.) - "초심 리마인드"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 코드스쿼드 마스터즈 코스 과정 41일차인 오늘 지난 1월과 2월 총 40일차간의 여정을 되돌아 보았다. 이때 "나는 과연 최선을 다 했을까?"라는 질문을 스스로에게 해보았는데, 개인적인 생각으로는 나의 형편에 따라서는 충분히 최선을 다했었다고 생각한다. 다만 그럼에도 불구하고 요즘 따라 "조급한" 마음이 생겨나는데 오늘 회고를 통해 앞으로 코드스쿼드 마스터즈 코스 과정에 임함에 있어 초심으로 돌아가 "나 자신의 성장에 더욱 집중"하기로 했다. 이러한 "조급한" 마음의 원인은 코드스쿼드 마스터즈 코스 과정에 있으면서 수많은 실력자 분들과 함께 공부하면서 생기는 마음(..

[프로그래머스] 전화번호 목록 - Java

문제 설명 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 풀이 소스 코드 : Fail(시간초과) class Solution { public boolean solution(String[] phone_book) { boolean answer = true; boolean flag = false; for (int i = 0; i < phone_book.length - 1; i++) { for (int j = i + 1; j < phone_book.length; j++) { if (phone_book[j].len..

[프로그래머스] 위장 - Java(Feat. 삽질 주의)

문제 설명 코딩테스트 연습 - 위장 programmers.co.kr 풀이 회고 이번 문제는 오랫동안 고민하다가 결국에는 힌트(Hint)를 보고야 말았습니다. 먼저 이 문제를 해결하기 위한 당초 저의 접근 방법은 옷을 1개만 선택하는 경우, 2개만 선택하는 경우, 3개만 선택하는 경우(최대 옷의 종류의 개수) 등 각각의 경우별로 옷을 "조합(combination)"할 수 있는 모든 경우의 수를 구하고자 했었습니다. 문제에서 주어진 예시에 적용해보면 다음과 같습니다. 문제 설명에서 주어진 입출력 예시들 한해서는 위와 같은 접근 방법으로 간신히 "구현"할 수는 있었습니다. 다만, 구현하면서도 소스 코드가 점점 길어지는 것을 보면서 "지금 뭔가 잘못되어가고 있다는 것"을 본능적으로 느낄 수 있었습니다... 😇 ..

[프로그래머스] 주식가격 - Java

문제 설명 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 풀이 : Success 소스 코드 public int[] solution(int[] prices) { int[] answer = new int[prices.length]; int second, price, lastTime = prices.length - 1; for (int i = 0; i < lastTime; i++) { price = prices[i]; second = 1; for (int j = i + 1..