전체 글

Algorithm/백준

백준 10809번 : 알파벳 찾기(Java)

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net [풀이] 크기가 26인 배열을 만듣 후, 문자열에서 해당하는 인덱스의 값에 처음 나온 문자열의 위치를 담아주도록 했습니다. char 변수에서 'a'를 빼서 알파벳 배열의 위치값을 받았습니다. [코드] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java..

Algorithm/백준

백준 15787번 : 기차가 어둠을 헤치고 은하수를(Java)

https://www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net [풀이] 비트마스킹 유형의 문제였습니다.(물론, 비트마스킹 없이 단순 구현으로도 풀 수 있습니다.) 초기값은 0으로 두고, 좌석은 20자리이지만, 비트마스킹을 위해 21자리를 만듭니다. N개의 기차가 있으며 좌석은 1~20번째 자리가 있습니다. switch문으로 해당 명령이 어떤 것인지 구분했습니다. 특히, 3번 명령의 경우, 연산과정후, 20개의 범위 밖, 21번째에 값이 남아있으므..

Memo/21년 TIL

0904~0905 TIL (주말 정리하기)

| 0904~0905 [공부한 내용] DTO, DAO, VO, Entity에 대한 개념을 정리했다. 프로젝트를 했을 때도 정리가 필요하다고 느껴 블로그 글로 작성을 했다. 확실히 정리를 하니, 보다 개념이 잘 정리가 된 것 같다. 4주차 과제를 확실히 마무리 짓기 위해 테스트 코드 짜는 것에 대해 집중했다. 이전 과제를 기록을 남기고 새로 만들다보니 이름 짓는게 쉽지 않았지만, 오늘까지 PR 올리는 것을 목표로 작성했다. 새롭게 투포인터 개념을 공부하며 백준 문제를 풀었고 '이것이 코딩테스트다' 책의 진도를 맞춰서 공부해나가고 있다. [주말 정리] 과제를 마무리하려고 했는데 과연 전의 피드백이 잘 해결된 것인지, 단위테스트 코드를 작성을 했는데 이게 과연 잘 작성된 건지 확신이 안생긴다. 멘토님께 PR드..

Algorithm/백준

백준 1940번 : 주몽(Java)

https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net [풀이] 투포인터의 기본적인 문제였습니다. 주어진 M보다 크면 안되고 작아도 안되기 때문에 각 조건에 맞게 start,end 변수의 크기를 조절해야합니다. M보다 배열의 합이 작다면, start의 크기를 1증가, M보다 배열의 합이 크다면, end의 크기를 1 감소 해야합니다. 만약, M이되었다면, start와 end변수 각각 크기를 1증가, 1감소 해야합니다. 이 반복을..

Algorithm/백준

백준 3273번 : 두 수의 합(Java)

https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net [풀이] 투포인터 유형의 문제였다. 0번 인덱스에서, 배열의 길이 - 1의 인덱스에서 좁혀오며 비교를 하였다. 만약, 합이 x값과 같다면 start 혹은 end를 1 더하거나 뺐다. 합이 x값보다 작다면, start 값을 1 더하고 x값보다 크다면, end 값을 1 뺐다. 이렇게 연산과정을 반복하면서 개수를 세면된다. [코드] import j..

Algorithm/백준

백준 1302번 : 베스트셀러(Java)

https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net [풀이] HashMap 자료구조의 key는 주어진 문자열을, 값은 해당하는 것의 개수를 넣는 형식으로 구현했습니다. 이후, Map의 Value를 확인하면서 가장 큰 값의 value를 얻었습니다. 다음으로, Map의 key를 정렬을 한 후, Map을 돌면서, 해당하는 maxValue를 가진 key값을 반환했습니다. [코드] import java.io.BufferedReader; import ..

skyey94
Retrospect