다른 사람의 풀이 중 충격적인 풀이를 보았기에 포스팅을 한다.( TMI. 나에게 알고리즘 문제를 푸는 묘미 중 하나는 다른 사람들의 다양하고 기발한 풀이들을 보는 것이다! ㅎ-ㅎ )깔끔하게 풀고 싶어서 문제를 간단하게 해결할 수 있는 수학적 공식을 고심해 보았지만 늦은
프로그래머스 - 정수 제곱근 판별해당 문제에서 제곱근을 활용하여 양의 정수 n이 양의 정수 x의 제곱인지 아닌지 판별하기 위하여 Math.sqrt() 메소드를 사용하였다.허나, 처음 제출하였던 해당 코드는 테스트 케이스 3, 6, 13번에서 틀렸다고 하는 것!왜? 라는
23년 3월 9일 - 23년 3월 23일2주간 기초 문제를 하루 약 10문제 가량 풀며 함수, 메소드 사용법에 친숙해졌다.앞으로 풀 문제들은 더 이상 기초문제가 아닌 알고리즘 지식들을 요구 하기에 큰 욕심 없이 하루 3문제 풀이를 목표로 하기!
이차원 배열을 다루는 문제이다.단순 이차원 배열(행렬) 간의 덧셈이지만, 왜 이렇게 행렬(다차원 배열) 문제만 나오면 헤매는지...풀이는 간단하게 두 번의 for문을 돌려 해결하면 된다.알고리즘으로 분류하기도 민망한 난이도의 문제이다 ㅜ하지만 어쩌겠나,,이것이 나의 현
첫 시도두 번째 시도런타임 에러가 난 이유는 지문 내 '여러 개의 공백이 들어갈 수 있다' 라는 조건 때문이었다.split(' ')은 하나의 공백만 없애주기 때문에 공백이 ' ' 두개였다면 -> ' ' 하나의 공백으로 줄어들게 되는 것!이를 수정하기 위해 trim()
단순히 최대공약수와 최소공배수를 구하는 문제!일반적인 코드로 최대 공약수를 구해 본다면 아래와 같이,최소 공배수를 구하는 코드는 아래와 같이,짜여질 것이다.이와 같은 최대공약수, 최소공배수를 구하는 코드의 시간복잡도는 단순 O(N)으로 나타난다.이를 더 효율적인 시간복
자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 찾는 간단한 문제이다.테스트 케이스는 통과하였지만 효율성 부분에서 모두 낙제하였다.범위를 줄일 수 있을까?⇒ 연속하는 숫자의 덧셈이기에 (에라스토테네스의 체 접근과 유사(?)) 첫 for문
탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정대표적인 그래프 탐색 알고리즘으로 DFS, BFS깊이 우선 탐색(Depth First Search)그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘스택 자료구조(혹은 재귀함수)를 이용, 구체적인 동작은 아래와