일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 머신러닝
- 디스크블록할당
- 자바
- biginteger사용법
- 컴파일시스템
- 우선순위큐
- 시스템프로그래밍
- K-MOOC
- StringTokenizer
- 단국대학교 k-mooc
- CSS 기초
- K-MOOC 단국대학교 홍보단
- Entity
- national instruments
- Node
- 자바스크립트
- 자바문자열구분
- html기초
- 블록체인강의
- 2차원배열정렬
- stringreader
- 블록체인 강의
- 블록체인
- TypeScript
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 티스토리챌린지
- 오블완
- 딥러닝
- 해시
- 자바입력받기
- Today
- Total
목록개발 공부/코딩 문제풀이 (20)
열정 실천

오늘의 문제는 미로 찾기!!미로 찾기는 ① 출발점에서 도착점까지 가는 최단거리를 찾는 문제이거나 ② 출발점에서 도착점까지 갈 수 있는 경로의 개수를 세거나 하는 문제 인데 이번 백준 2178번 문제는 최단거리를 찾는 문제이다. 처음에 DFS로 문제를 풀었다. DFS 문제 풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class beakjoon_2178 { static int[][] miro; static boolean[][] visit; static int min; static in..
알고리즘을 문제를 풀다보면 다양한 풀이방식이 존재하는데 그 풀이 방식을 알고리즘 패러다임이라고 한다. 각 패러다임은 특정 유형의 문제를 해결하는 데 특화되어 있으며, 알고리즘을 더 효율적으로 구현하는 데 도움을 준다. 주요 알고리즘 패러다임에 대해서 알아보자! Brute Force 무차별 대입어떤 문제에 대해서 가능한 모든 경우의 수를 시도하는 단순한 방법 직관적이고 답을 확실하게 알 수 있다. BUT 인풋이 큰 경우에는 매우 비효율적이다. ▶️ 완전 탐색, 순열/조합 문제 Backtracking 백트래킹문제를 해결하기 위해 모든 가능한 경우의 수를 탐색하되, 해답이 될 가능성이 없는 경로는 탐색을 중단하고 이전 단계로 돌아가 다른 경로를 탐색하는 방법 ▶️ N-Queen 문제, 미로 탐색..

처음엔 그냥 생각나는대로 이중포문써서 다 더해보고 제일 작은거 찾기 했더니 역시나 시간초과,,ㅎㅎ오늘 만난 친구가 코테를 다 풀었는데도 싸피를 떨어졌다고 하는거보니 문제를 맞혀도 시간이 짧게, 공간 낭비가 적은 코드를 작성하는게 중요한 것 같다. 해결법은 투 포인터!!!! 이중 for 문은 어떻게 해서든지 복잡도가 최소 N^2이다.하지만 투 포인터를 쓰면 복잡도가 O(N)으로 시간 효율이 아주 크게 작동한다. 투포인터를 이용해서 작성해보았다. 자꾸 out of index 오류가 나서 생각해보니 end pointer가 배열의 마지막 인덱스에 있을 때 1을 더하고 나서 배열을 접근해서 그런거였다. 그래서 마지막 인덱스일때는 스킵하도록 코드 두 줄 추가...! (효율적인 방법인지는 모르겠다,,,) clas..

문제 설명하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어- 0ms 시점에 3ms가 소요되는 A작업 요청- 1ms 시점에 9ms가 소요되는 B작업 요청- 2ms 시점에 6ms가 소요되는 C작업 요청와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다.한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다.- A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms)- B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 12ms 시점에 작업 완료(요청에서 종료까지 : 11ms)- C: ..

만약 모자 3개 티셔츠 2개 바지 2개양말 3개가 있다고 하면 아래와 같이 모든 조합을 구해야 한다. 일일이 다 곱하기엔 너무너무 복잡했다.. 순서가 있는 조합의 개수를 구하는 공식을 구하고 있는 나와,,,😤모든 부분집합의 개수를 찾고 있는 정호랑 😟옆에서 재잘재잘 입으로 풀고 있는 승준이랑 😗 이러고 두 시간 째,,, 지켜보던 병찬햄이 문제보더니 10분만에 풀어제꼈다😲😲 👀👀 핵심은 한 종류의 옷을 안입는 경우를 개수 하나로 추가 시키는 것. 만약 a종류 의상인 a1, a2, a3 와b종류 의상인 b1, b2 와c종류 의상인 c1, c2 와d종류 의상인 d1, d2, d3 가 있다면 해당 종류 의상을 안입는 경우인 -0을 넣어주면 a종류 의상인 a0, a1, a2, a3 와b종류 의..

첫번째 시도 : 삼중포문......... 삼중포문이라 시간초과가 날 게 뻔했지만 일단 질러본,, 풀이 class Solution { public boolean solution(String[] phone_book) { boolean answer = true; for(int i=0; i 역시나 시간초과,,,,정확성은 다 통과지만 효율성 다 탈락 두 번째 시도 : 문자열 함수 이용하기 문자열이 특정 문자열을 포함하는지 확인하는 contains()는 접두사문제에 적용이 안된다. 특정 문자열이 접두사에 해당하는지 알 수 있는 startsWith() 함수를 알게 되었다! class Solution { public boolean solution(Str..