전체 글(151)
-
데이터 타입 런타임 에러
✔오늘 배운 중요한 🔑 point잘못된 배열 인덱스 참조 뿐만 아니라 Int타입 ,Long타입 등 데이터 타입에 따라서도 런타임 오류가 발생하므로 알고리즘을 설계할때 데이터타입 선정에 있어서 신중하게 선택해야한다.🎯 오늘 배운 내용 크기가 작은 부분문자열 알고리즘 문제를 풀다가 런타임 오류 발생 코드 자체가 짧기때문에 오히려 무엇이 문제인지를 찾아내기가 많이 힘들었다..구글링을 해본 결과 대체로 배열의 크기 설정을 잘못했기 때문과 재귀함수로 인한 오류들이 많았는데 나의 경우는 이에 해당하지않았다. 해결 혹시 t와p의 문자열을 .toInt()로 변환할때 int형으로 변환하기에는 값이 너무 커서 문제일까 생각이 들어 Int타입 대신 Long타입으로 변환하니 런타임 오류 없이 해결되었다.Int형은 -2..
2024.05.06 -
(알고리즘) 3진법 뒤집기
신나는 주말!주말에는 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 문제설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항n은 1 이상 100,000,000 이하인 자연수입니다입출력 예nresult457125229입출력 예 설명입출력 예 #1답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 45120000217따라서 7을 return 해야 합니다.입출력 예 #2답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 1251112222111229따라서 ..
2024.05.05 -
(알고리즘) 최대공약수와 최소공배수 구하기
신나는 주말!주말에는 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 문제 설명두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.제한 사항두 수는 1이상 1000000이하의 자연수입니다. 입출력 예nmreturn312[3,12]25[1,10]420[4,20]입출력 예 설명입출력 예 #1위의 설명과 같습니다.입출력 예 #2자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 내가 작성한 코드 fun soluti..
2024.05.04 -
공간 복잡도
✔오늘 배운 중요한 🔑 point시간 복잡도가 알고리즘이 실행되는 시간에 따른 효율성을 뜻한다면 공간 복잡도는 알고리즘을 실행시키고 완료까지 사용한 공간의 양을 뜻한다공간 복잡도의 경우 메모리가 부족한 경우에는 상대적으로 저렴한 비용으로 해결이 가능하지만 시간 복잡도의 경우 시스템의 성능이 느려지는 경우에는 비싼 비용이 필요하기 때문에 상대적으로 공간 복잡도 보다는 시간 복잡도의 중요성이 더 크다🎯 오늘 배운 내용 공간 복잡도프로그램을 실행시키고 완료까지 사용한 공간의 양을 뜻하며 Big-O 표기법을 그대로 사용한다 공간 복잡도 평가고정 공간 요구: 알고리즘이 실행되는 동안에도 항상 필요한 고정된 공간이 있는지 확인 (변수, 상수, 배열 등의 메모리 공간을 할당하는 고정된 요구 )가변 공간 요구: ..
2024.05.03 -
시간 복잡도
✔오늘 배운 중요한 🔑 point시간 복잡도는 알고리즘이 입력 크기에 따라 실행되는 데 필요한 시간의 증가 속도를 설명한다. 보통 알고리즘의 효율성을 나타내는 중요한 지표 중 하나이며 보통 "Big O 표기법"을 사용하여 표현한다. 쉽게 말해 시간복잡도는 알고리즘의 성능이 좋은지 나쁜지 보여주는 것이다.🎯 오늘 배운 내용 시간 복잡도시간 복잡도는 알고리즘이 입력 크기에 따라 실행되는 데 필요한 시간의 증가 속도를 설명하며 알고리즘의 효율성을 나타내는 중요한 지표 중 하나이다 Big-O 표기법Big O 표기법은 알고리즘의 성능을 입력 크기에 대한 상한을 나타낸다. O(1): 입력 크기와 상관없이 항상 일정한 실행 시간을 가짐 EXCELLENTO(log n)은 입력 크기의 로그에 비례하는 실행 시..
2024.05.02 -
git branch
✔오늘 배운 중요한 🔑 pointbranch는 기존의 코드를 복제하여 여러 사람이 독립적으로 작업을 진행하고, 작업이 완료되면 원본 코드에 통합할 수 있다연습단계에서는 하나의 branch를 이용하고 있지만 실무에서는 서로다른 branch를 이용하여 각기 작업을 수행하기도 한다다른 branch를 합칠때는 git merge뿐만 아니라 git rebase도 있는데 git rebase는 히스토리를 깔끔하게 유지하고자 할 때, 특히 작업 브랜치를 기본 브랜치의 최신 상태로 유지하고 싶을 때 선호된다🎯 오늘 배운 내용 branch git branch란?Git 브랜치는 코드를 분리하여 개별적으로 작업하고 변경 내용을 관리하는 도구이다 branch를 왜 사용할까?소프트웨어 개발 프로세스를 효율적으로 관리하기 위..
2024.05.01