본문 바로가기

study48

[백준문제풀이] 5557 1학년 java 접근법 : **1) 어떻게 풀 것인가?** 내가 생각한것 1. int[] ints 에 n개의 수를 입력받는다. 2. idx대로 한칸씩 나아가며 +,-를 한다. 3. 이때 계산한 수가 20 초과 or 0미만이라면 다음 계산으로 넘어간다. 4. 0~ n-2번째 idx까지 계산한 값중 n-1 idx의 값이 같은것의 개수를 센다. 이 문제는 어떤식으로 풀어야할지 순서는 짤 수 있는데 저 '다음 계산으로 넘어간다' 와 ' n-2까지 계산한 값' 을 어디에 저장해야할지 아이디어가 떠오르지 않았다. dp저장을 어떻게 해야할지에 대해서 고민이었다. 그래서 다른 블로그의 힘을 빌려... 코드를 쓰게 되었다. **2) 시간복잡도** O(n)의 시간복잡도를 가진다. **3) 공간복잡도** 128mb이다. **4) 풀면서 놓.. 2023. 11. 1.
[백준문제풀이] 2580 스도쿠 java 접근법 : **1) 어떻게 풀 것인가?** 우선 스도쿠를 푸는 방법에 대해서 알고있으면 문제는 쉽게 풀 수 있다. 특정 칸에 대해서 가로줄 세로줄 3*3의 정사각형 에서 중복되지않은 한 수를 찾아내면 된다. **2) 시간복잡도** 1초 **3) 공간복잡도** 256mb **4) 풀면서 놓쳤던점** 딱히 ㄴㄴ **5) 이 문제를 통해 얻어갈 것** 처음에 삼성알고리즘 첫수업에서 이 문제를 알게되었는데, 그 당시 주어진 문제에서 단 한문제도 풀지못했다. 그래서 강사님께 이 많은 문제 중에 한 문제만 추천해달라고 부탁드렸고 그래서 푼 문제가 바로 이 스도쿠이다. dp 5%와 전체적으로 코드를 어떻게 풀어내야할지 알게해준 문제이다. import java.io.*; import java.util.*; public.. 2023. 10. 31.
[프로그래머스] 숫자 문자열과 영단어 접근법 : **1) 어떻게 풀 것인가?** 간단한 문제같은데 생각보다 조금 헤맸다... 문자열 -> 숫자로 바꾸면 되는 문제 **2) 시간복잡도** **3) 공간복잡도** **4) 풀면서 놓쳤던점** 딱히 없음 **5) 이 문제를 통해 얻어갈 것** 코드를 내 생각의 흐름대로 적었다. 다른 사람의 풀이를 보니 String.replaceAll()를 쓴 풀이가 가장 인기있었다. 이번에 replaceAll()을 알게되는 기회가 되었다. class Solution { static String[] numbers; static String answer; public int solution(String s) { answer = ""; String temp =""; numbers = new String[]{"zero".. 2023. 10. 30.
[TIL] LinkedList 로 구현한 stack linkedList란 저장된 데이터가 (해당 데이터) + ( 다음 데이터의 포인터) 로 이루어진 구조를 뜻한다. 이 개념을 사용하여 stack을 만들어보려한다. stack은 아래와 같다. (원래 가장 맨 위에 있는 값은 top이다) 우선 저장되는 데이터 형태를 link라고 한다. Link를 구성하는 클래스는 아래와 같다. public class Link { public int data1; public double data2; public Link nextLink; public Link(int d1, double d2){ data1 = d1; data2 = d2; } public void printLink(){ System.out.println("{"+data1+" , "+data2+"}"); } } 연결.. 2023. 10. 29.