보통은 array에서 index의 문제일수도 있고기본적으로는 맨 위에 package 이름을 입력하면 런타임 에러가 뜬다 !! 짜증나 말을 해주던지
아무리 해도 시간초과 문제가 해결이 안됬었는데, 문제는 많은 양의 데이터를 출력할 때 System.out.print를 쓴것이 문제였다 ㅠㅠ많은양의 데이터를 입출력할때는 , BufferedReader/Writer를 쓰는것을 습관화 하자 !그리고 처음에는 linkedlis
단순한 문제였다, 틀렸던 이유는 21억 이하의 숫자일지라도 연산 과정에서 profit이나 cost가 21억을 넘어설 수 있기때문에 (int의 범위를 넘어서기때문에 ) long타입으로 선언 해주었어야 한다.
조합을 이용해서 풀어야 하는 문제인것은 알았다, 하지만 재귀나, 백트레킹을 이용해서 직접 조합을 구현하는 것이 어려워서 인터넷상에 있는 코드를 보고 조합 부분을 구현했는데, 실제로 코딩테스트를 보러가면 외부 코드 참조가 안되는거 맞나? 만약 그렇다면 조합을 구하는 코드
https://www.acmicpc.net/problem/1157나는 일일이 하나씩 대,소문자를 비교해가면서 하나씩 체크를 했는데, 이것보다 훨씬 더 간편한 방법이 있었다. 먼저 모두 대문자로 만들고, 각 알파벳을 숫자로 매칭시켜서 int array에 담은 뒤
Stirng 을 arraylist로 만들기 위해서는사용하면 된다.Arraylist al = Arrays.asList(S.split("")); 으로 하게되면 Arraylist의 기능( add, remove등을 쓸 수 없게 된다) 그 이유는 Arrays.asList로
stack 구조를 활용하여 순차적으로 들어오는 char의 중복을 체크하여 제거하는 프로그램을 작성하였다. stack에 각각의 char와 각 char의 갯수를 세기위한 int값이 필요했기 때문에 새로운 Node라는 구조체를 만들어서 해당 구조체형으로 stack을 생성하였
간단한 문제였는데, linked list의 개념이 헷갈려서 조금 시간이 걸렸던 문제이다.linkedlist문제를 풀 때에는 pre, current, next의 값을 잘 저장하고 변경해주는 것이 중요하다.
합쳐서 특정 값이되는 array안에 있는 두 값의 index를 구하는 문제였다.나는 brute force를 이용해서 풀었는데, 이것을 hashmap을 이용해서 풀면 훨씬 쉽게 풀 수 있는 문제였다.map의 특성상 중복된 값이 들어 올 수 없기 때문에, 주어진 값에서 a
일반적으로 주어진 문제를 풀기 위해서, 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 목적에 도달하는 것이다. 각 하위 문제의 해결을 계산한 뒤, 그 해결책을 저장하여 후에 같은 하위 문제가 나왔을 경우 그것을 간단하게
DP문제를 몇개 풀어보지 않았다 보니, 간단한 문제인데도 시간이 조금 걸렸다. 문제를 많이 풀어보고 감을 익히는것이 중요할 것 같다.각 포인트에서의 최대 이익값을 구해놓는것이 중요한 문제였다. 각 포인트에서의 max값을 구해놓고 그것을 이용해서 다음 포인트의 max값을
중복값을 제거하기 위해서 HashSet을 사용해야 하는 문제였고, 해당값이 있는지 파악하기 위해서 search해야 하는 문제였다. 나느 이 문제에서 값을 찾기 위해서 Arrays안에 있는 내장함수인 binarysearch함수를 사용했다. 주의할점은 binarysearc
666이 포함된 수를 작은 수 부터 순서대로 나열하였을 때 N번째 수를 찾는 문제였다.직접 패턴을 찾아서 수를 만드는 것은 너무 복잡하고 비효율적이였다.단순히 1부터 차례대로 수를 증가시켜가면서 666이 포함되어 있는 수를 찾는 것이 오히려 효율적이였다

문제는 Given a string, find the length of the longest substring without repeating characters.이 문제를 풀 때에는 sliding window라는 알고리즘을 풀면 쉽게 풀 수 있다.슬라이딩 윈도우 알고리

소수는 1보다 큰 수중에서 자기 자신과 1만을 공약수로 가지는 수이다.이것을 구하는 여러가지 방법이 있는데.소수를 판별하고자 하는 수를 num이라고 하면2부터 num - 1 값까지 중에서 num과 나눠지는 값이 있으면 소수 X (timecomplexity = O(N))
첫번째 해답 :개선한 정답 :배운 점 : replace를 하면 해당 string 안에있는 특정 단어를 다른 단어로 치환할 수 있다. dictionary 형은 json 처럼 key : value 값을 가지고 있는 자료형태이다.enumerate는 리스트가 있는 경우 순서와
어제 문제를 풀면서 배웠던 dictionary 를 이용해서 각 키패드별 손가락의 위치를 좌표화 하여 풀었다.
zip 함수를 사용하면 여러개의 array를 묶어서 iterate를 할 수 있다.
배운점 : 1\. 조합을 구하는 함수 combination이 있음을 알았다.2\. 제곱근을 구하는 함수 math.sqrt() 를 배웠다.3\. 2부터 자기자신의 제곱근까지의 숫자로 나눠지지 않는 수를 소수로 정의할 수 있다.