반응형

분류 전체보기 21

18258 큐 2 NodeJS

큐는 기본적으로 스택의 선입후출 방식과 다르게 선입선출 방식이다.out 이 문제에서는 큐의 기본 동작을 이해하기도 하고, 자바스크립트의 기본 메서드를 이용하면 편리하지만 때로는 시간이 문제가 생길 수 있기에 우회방법을 알아둬야 한다는 것을 알게되었다.접근방식필요한 상태를 기억할 변수 선언작동할 동작을 함수로 만들어 선언input이 들어오면 그 때마다 적당한 함수 호출문제1-1 시간초과console.log(result.join("\n"));출력 console.log 를 매 함수 실행마다 넣어줬더니 시간 초과가 발생했다. 이를 위해 결과를 result에 넣고 한 번에 출력하는 방식으로 변경. 항상 결과 출력에서 같은 시간초과 문제가 발생한다. 시간을 언제부터 재는것일까..?1-2 시간초과// 여전히 시간초..

백준 2025.08.05

18870 좌표압축 NodeJS 좌표압축이 뭔지 시간 메모리 관리까지

이번 문제는 처음 보는 좌표압축이라는 개념과 메모리, 시간초과로 애좀 먹고 한 단계 발전하게 된 문제다. 문제를 풀기위해서 좌표압축이 무엇인지 알아채야한다. 처음 문제를 보고 Xi > Xj면 Xj 범위가 너무 넓은거 아닌가 생각했는데 주어진 배열에서 대소 비교만 하면 되는 것이었다. 중복값에 대한 처리도 필요한데 조건에 서로다른 Xj라고 명시되어 있기 때문이다.이 두가지를 합쳐 생각해보면 1. 중복제거된 2. 오름차순 정렬된 배열을 만들어 이를 활용하면 된다. 새로 만든 배열과 그 요소의 인덱스를 문제 해결에 사용하는 방식이다. 예제를 통해 나온 배열을 만들어보면 [-10, -9, 2, 4]이다. 이보다 작은 수가 없는 -10은 인덱스가 0이다. 자신보다 작은 수가 한 개인 -9의 인덱스는 1이다. 이렇..

백준 2025.06.04

19532_수학은 비대면 강의입니다 NodeJS 연립방정식 풀이

알고리즘 분류는 아래와 같다.브루트포스 수학이런거 안보고 그냥 풀어서 항상 고생하는데 이번엔 알고리즘 분류를 봤어도 고집좀 부렸을 것 같다. 브루트포스를 처음 봤다. 그동안 풀어본적 있을것 같긴 한데 신경을 안쓰니 알 턱이 있나. 쉽게 말하자면 무식하게 확인하는 알고리즘이다. 완전탐색 알고리즘으로 범위가 정해지면 그 범위를 모두 확인해야하는 문제였다.범위가 -999부터 999라 그리 많지는 않지만 이렇게 반복문을 돌리는걸 선호하지 않는다. 문제를 풀고나면 지피티한테도 더 똑똑한 방법을 꼭 물어보는 편이다. 그래서 난 반복문을 돌지 않고 연립방정식을 풀어봤다. 자꾸 틀려서 구글링을 좀 해봤는데 연립방정식을 정리해서 푸신분은 없더라... 안되서 안하시는건지 알고리즘 분류에 충실하신건지 몰라도 내 방법을 소개..

백준 2025.05.30

백준 2941 Nodejs

이게 2차원 배열 문제지만 배열 생각 안하고 그냥 풀다가 혼좀 났다.전체 넓이에서 겹치는 부분의 넓이를 빼봤지만 문제가 있었다. 여러개가 겹쳐있을 때 처리가 미흡하다는 것.넓이로 접근한 방법은 다음과 같다.전체 넓이를 구한다정사각형 하나하나 비교한다.pop으로 빼내고 리스트 안의 정사각형과 빼낸 정사각형 비교해 겹친 부분 계산[정사각형들] [타겟 정사각형]타겟 정사각형 삭제 후 2번을 list.length - 1만큼 진행출력이 방식으로 한 번 겹치거나 겹치지 않을 경우는 계산이 되지만 여러번 겹치는 경우를 처리하지 못 했다.40 00 00 00 0방법이 있을거라 생각하며 도전했지만 실패..다른 분들이 풀듯이, 원래 의도했던 정답이 그렇듯이 2차원 배열로 접근해봤다. 개발하면서 크게 문제된 적도 없는데..

백준 2025.05.12

2941 백준 크로아티아 문자 nodejs

실버 문제 만만치 않았다..처음엔 가볍게 생각했는데 의외로 내가 신경쓰지 못한 부분에서 문제가 발생했다.썩 좋은 코드는 아니었지만 지금까지 익힌 기술들로 힘겹게 극복하긴 했다. 결코 좋은 코드는 아니겠지만 gpt로 더 좋은 코드도 연습 해보자.접근방식크로아티아 문자를 순환한다. 이 때 반드시 한 글자로 봐야하는 dz=, lj, nj 를 앞에 배치해서 먼저 순환할 수 있도록 한다.reduce로 순환한 값을 바로바로 활용할 수 있게 한다.input값을 돌면서 찾아지면 그 문자를 target에서 제외하고 따로 보관한다.최종적으로 걸러진 크로아티아 문자의 갯수와 걸러지지 않은 문자열의 갯수를 더해 정답을 내놓는다.문제1-1 split으로 분류하려니 같은 문자가 존재할 때 문제발생같은 글자가 나올거라 생각하지 않..

백준 2025.04.29

백준 알고리즘 맞는데 왜 틀려?

게으르지만 꾸준하게 문제를 풀고 있다가 생각보다 자주 드는 생각이 있다.이게 왜 틀려?예시 답안도 잘 나오고, 챗지피티로 예시 문제도 만들어 달라해서 돌려보지만 틀린다. 난 진짜 맞았는데... 왜 틀렸는지라도 알려주면 참 편할 텐데 그런 자비는 없다. 아직 경험이 없어 예상할 수 있는 범위가 좁은 것도 문제이다. 옆 집 글들을 보다 보니 이런 말도 하시더라 '맞왜틀?' ㅋㅋㅋㅋ. 다행히 이번엔 운 좋게 지피티가 문제를 찾아줬지만 지피티도 모를 수도 있고, 내 머리로 풀고 싶을 때가 있을 거다. 그렇다면 일단 적어보고 테스트를 해보면 좋지 않을까?나 같은 사람들은 꾸준히 많을 거라 생각한다. 문제를 풀며 해결해 낸 설마?! 들을 적을 테니 같이 확인해 보자. 부족한 나에게 이런 것도 있다고 댓글을 달아주면..

백준 2025.03.04

2480_주사위 세개

초보 문제지만 생각보다 오래 걸렸다. 아무래도 아직 언어에 익숙하지 않은 모양이다. 이 문제에서는 조건문 안의 조건을 어떻게 생각할지, 배열을 어떻게 다룰지, 이 두 가지를 집중했다. 나름 욕심이랄까.. 주사위가 세 개가 아니라 더 많을 때를 살짝 고려해 봤다. 완전히 고려하기엔 살짝 머리가 아팠나 보다.배열 안의 값이 중복되었는지 어떻게 알지?중복된 값이 몇 번이나 중복된 건지 어떻게 알지? 위 두 가지 질문을 무슨 생각으로 해결했는지 풀어보려 한다.배열 안의 값이 중복인지 먼저 든 생각은 Set이었다. 파이썬 다룰 때 기억이 있었는데 자바스크립트에서 어떻게 사용하는지를 몰랐다. 그래서 다른 방법으로 while을 이용해 배열을 순환하며 값이 있으면 카운트 올려볼까도 생각했다. 두 번째 방법은 너무 귀찮..

백준 2025.01.20

계속 끝내고 있는가?

한동안 블로그 신경도 안쓰다가 다시 책을 읽으면서 글도 썼다. 어차피 아무도 안볼거 알지만 나름 똥 카테고리에 내 생각이나 목표같은 것들을 쓰고 있었는데, 반드시 끝내기? 하나를 끝냈다? 그런 글도 쓴 걸 봤다. 나는 끝내고 있는지 되돌아 보게 된다. 성공과 실패로 나눠버린다면 실패할때 마음아프니까 하고싶진 않고.. 노력은 하고있다 정도인가보다.작년의 제일 큰 공을 들였던 개인(팀 이었던 것) 프로젝트도 어찌어찌 마무리 단계까지 끝냈다. 원래 목표가 제품을 내는건데 과정에 맞춰서 보고서만 작성해서 끝낸게 문제다. 이건 두고두고 생각이 나서 마음속으로는 제품 아무도 안쓰더라도 내야지 하고있다. 마음만 먹고 계획만 한다고 뭐 되는건 없다. 이대로면 버리지도 못하고 미련만 가져갈게 뻔하다. 이 글이 올라가는 ..

2025.01.16

소년이 온다

책을 읽은 지는 좀 된 것 같다. 나라에 큰 혼란이 있고 난 후 읽었으니 한 달은 안되었을 거다. 책을 읽는 능력도 부족하고 기억력 역시 좋지 않지만 이 책을 읽고 하나는 뚜렷하다. 사람 목숨을 파리 목숨보다 하찮게 보는 일이 다시는 일어나면 안 된다는 것...지금까지 인생을 살면서 정치에 관심을 가져본 적 없다. 물론 지금도 크게 관심을 가지지 않는다. 내 스스로 사실을 확인하지 않은 일에 대해서 섣부르게 확신하고 싶지도 않고, 한쪽에 서면 한쪽에서는 외면받는다. 사실에만 관심을 가지고 중립을 지켜내는 태도는 꾸준히 유지할 생각이다. 시작부터 이런 이야기를 하는 데에는 지금 시국이 큰 역할을 해준다. 나라에 이래도 되나 싶은 일들 투성이니 조심스러워지는 것이다. 이 책을 읽고 드는 생각에 대해서도 최대..

책을 읽고 2025.01.16
반응형