분류 전체보기

들어가며..이 글은 최종 합격한 후 작성하는 글이기 때문에 자세하지 않을 수 있다.6월 여름방학에 들어가며 체계화된 학습과 프로젝트를 경험해보고 싶었고 프로그래머스 데브코스 백엔드 과정을 신청했었다.결과적으로 해당 과정에 불합격되면서 자신감이 많이 떨어졌고 2달정도 방황했고, 취업과 부트캠프 사이에서 정말 많은 고민을 했던 것 같다.쭉, 별 생각없이 알고리즘 문제를 풀고, 기업 지원 공고들만 보면서 지냈던 것 같다.그러던 중 10월에 우아한 테크코스 지원이 시작한다는 소식을 보고 일주일동안 자소서를 작성하고 신청하게 되어 프리코스를 시작하게 되었다.1주차 문자열 계산기문제는 처음에 정말 특이했다.내가 알던 코딩 테스트는 알고리즘을 활용하여 문제를 어떻게 효율적으로 풀어내는지에 대한 문제였기 때문에 이런 ..
· TIL
오늘 한 일백준 스카이라인 쉬운거 풀이블로그에 작성스택 문제에 내가 취약하다는 것을 알게되었다.가게 사이트 제작서비스 리스트 작성 완료예약 폼 작성 완료텔레그램 API로 메시지 전송할 준비 완료우테코 합격
· 백준
들어가며..https://www.acmicpc.net/problem/1863이전에 해결 방법이 떠오르지 않아 넘어갔던 문제를 해답을 읽어보면서 답을 찾아나갔다.또 스택 문제였고, 내가 스택 문제에 약한지 방식이 잘 떠오르지도 않고 이해도 안되었다.너무 어려움 ㅠ본론많은 블로그들에서 왜 이 문제를 그렇게 해결하는지에 대한 답이 없었고 코드를 똑바로 안읽고 따라한다고 시행착오를 거쳤다.아이디어는 다음과 같다.설명입력값으로 들어오는 y를 확인하고 직전의 y값이 현재의 y값보다크다면 새로운 건물이라고 추정되기 때문에 stack에 삽입한다.작다면 건물이 끝나는 지점이라고 추정되기 때문에 stack에서 값을 pop한다.이 시점에서 끝나는 지점이라고 추정되는 건물이 없을 때까지 반복해준다.이 반복이 종료된 후, 건물..
· TIL
오늘 한 일가게 사이트 제작React, Typescript, Vite, Tailwind 사용메인 페이지를 구현했다.영상을 배경으로 구현하였다.메시지가 중간에 계속 루프되도록 구현했다.헤더를 구현하였다.오시는 길 구현좌측에는 네이버 지도를 넣어 편리하게 볼 수 있도록 했다.우측에는 출발지 기준으로 어떻게 찾아올 수 있는지 간단하게 작성했다.구미역에서 가게까지의 길찾기 페이지를 쉽게 버튼을 통해 길찾기 할 수 있도록 해주었다.KIS 정보통신 이력서 작성중지원 동기를 이전에 작성했던 내용을 통해 작성하였다.이에스이 입사 지원기존에 작성했던 내용을 수정하여 제출해주었다.백준 문자열 폭발 해결기존에 사용했던 방식은, String.replaceAll, StringBuilder.delete()를 활용해서 해결한 방식..
· 백준
들어가며..이전에 풀기에 실패했던 9935 문자열 폭발을 다시 풀어보았고 다시 실패해서 해결방법을 보고 작성한다.https://www.acmicpc.net/problem/9935본론이전에 풀었던 방식은 replace 메서드를 사용한 방식으로 풀어보았었고, 오늘 다시 풀었을 때는, StringBuilder의 delete()를 활용해서 지워나갔지만, 여전히 메모리 초과가 발생했다문제의 코드import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new Inp..
· 백준
들어가며..이전에 문제 풀기에 실패했던 2138번 문제를 다시 보고 풀어보았고 결국 답을 보고 어떻게 해결해야하는지 찾아보고 해결하였다.문제 : https://www.acmicpc.net/problem/2138본론알고리즘 선택완전탐색 DFS처음에 문제를 보고 어떤 풀이법이나 정공법이 떠오르지 않았다.그래서 먼저, 완전 탐색을 고려해보았다.백트래킹을 활용해서, 최대한 가지치기로 속도를 높여보려고 했다.public static void DFS(char[] before, boolean[] visit, int now, int depth){ if(depth >= min) return; if(isEqualsArr(before)){ min = Math.min(min, depth); } ..
· 백준
20437구현 문제인 것 같다.문제에 나온대로 구현만 해주면 된다.https://www.acmicpc.net/problem/20437알고리즘알고리즘은 다음의 순서대로 동작한다.1. 입력 문자열의 알파벳 카운트int[] c = new int[26];for(char v : value){ c[v - 'a']++;}먼저, 입력값의 문자열의 알파벳들을 카운트해준다.이후에, 문자열을 반복할때 K보다 작은 카운트를 가진 값들은 연산하지 않는다.2.for(int i=0; i입력 문자 배열의 길이만큼 반복한다.앞에서 카운트한 값이, K보다 작다면 다음 반복을 돈다.i+1부터, 문자 배열의 마지막까지 반복한다.만약, value[j]의 값이 value[i]와 같다면, 갯수를 카운트해준다.만약 count가 K와 같아진다..
· 백준
1515완전 탐색 문제이다.알고리즘base와 pointer 두 가지를 두고 문제를 해결한다.290119라는 수가 주어졌을 때, 시작은 base = 1, pointer는 0(index)을 가르킨다.base와 pointer가 같은지 검사한다.만약 같다면, base와 pointer 모두 증가시킨다.만약 같지 않다면, base만 증가시킨다.두 자리, 세 자리수의 경우 base의 첫 번째 자리부터 1번처럼 탐색한다.여기서 여러 수중 한 자리인 경우, base와 pointer 모두 증가시킨다.!예시base = 1, pointer = 0 → 1 ≠ 2이기 때문에, base만 증가시킨다.base = 2, pointer = 0 → 2 = 2이기 때문에, base와 pointer 모두 증가시킨다.base = [ 3, 4,..
창e
'분류 전체보기' 카테고리의 글 목록