자바

알고리즘/프로그래머스

[프로그래머스/JAVA] H-Index - 정렬

https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr H-Index라고 하는 것에 대한 정의가 실제로 존재했다! 위키백과에 말과 프로그래머스를 인용하자면 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, ..

알고리즘/프로그래머스

[프로그래머스/JAVA] 숫자 문자열과 영단어 - 2021 카카오 채용연계형 인턴십

숫자 문자열과 영단어 2021 카카오 채용연계형 인턴십 LEVEL 1 문제 'one2three4fivesix' 라는 문구가 주어지면 '123456' 이라는 값을 return하면 된다. 규칙은 간단하다. 즉, 숫자는 숫자 그대로를 출력하고, 문자는 숫자로 변환시켜 출력하면 되는 것이다. 문제를 해결하기 위해 StringBuilder를 하나 선언하여 이후에 한 번에 출력하기 전까지 차곡차곡 쌓을 것이다. 또한, for구문을 통해서 주어진 문자열에 대해 charAt으로 접근하고 알파벳마다의 첫 문자를 기준으로 어떤 문자열인지 알아내는 구조로 진행할 예정이다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nine 경우의 수는 9가..

알고리즘/프로그래머스

[프로그래머스/JAVA] 로또의 최고 순위와 최저 순위 - 2021 Dev-Matching: 웹 백엔드 개발자(상반기)

로또의 최고 순위와 최저 순위문제 2021 Dev-Matching: 웹 백엔드 개발자(상반기) LEVEL 1 문제이다. 기존의 로또 방식과는 조금 다른 규칙을 가지고 있지만 어느 정도의 틀은 유지하고 있는 것 같다. 하지만 lottos, win_nums의 두 가지 배열을 넘겨주어 내가 가지고 있는 lottos와 실제 우승 숫자인 win_nums와 비교하는 것에서 조금 다른 점은 lottos안에 있는 0이라는 숫자에는 다른 가능성을 심어준다는 것이 있다. 즉, 0이라는 숫자는 누군가에 의해 지워져서 상상에 의해 win_nums에 있는 숫자를 넣을 수도, 아니면 일부로 넣지 않을 수도 있다는 것이다. 만약 모두 지워져서 [0, 0, 0, 0, 0, 0]이라는 숫자가 lottos에 있다면 모든 수를 틀리게 넣..

알고리즘/프로그래머스

[프로그래머스/JAVA] 오픈채팅방 - 2019 KAKAO BLIND RECRUITMENT

2019 KAKAO BLIND RECRUITMENT LEVEL 2 오픈채팅방의 문제는 다음과 같이 이해하면 된다. '111', '222'라는 닉네임을 가진 사람이 채팅방에 들어오고 나가는 과정을 예시로 보여주자면 다음과 같다. 111님이 들어왔습니다. 222님이 들어왔습니다. 111님이 나갔습니다. 다만 여기서 '111'이라는 친구가 '333'이라는 닉네임으로 바꾸어서 들어오면 다음과 같이 출력문이 바뀌어야 한다. 333님이 들어왔습니다. 222님이 들어왔습니다. 333님이 나갔습니다. 333님이 들어왔습니다. 이전에 있었던 모든 공지가 '333'이라는 닉네임으로 바뀌어야 하며, 333이라는 닉네임으로 들어왔으니 들어온 공지를 내야한다는 의미이다. 즉 여기에서 알 수 있는 사실들을 몇 가지 뽑아보자. 첫..

알고리즘/프로그래머스

[프로그래머스/JAVA] 실패율 - 2019 KAKAO BLIND RECRUITMENT

2019 KAKAO BLIND RECRUITMENT LEVEL 1 문제를 보면 이해가 어려운 것은 아니지만, 레벨 1 치고 단번에 이해하기 어려워서 문제를 읽는데에 조금 시간을 투자했다. 아무튼 결론은 테스트하고 싶은 스테이지를 알려주고, 현재 사람들의 스테이지 현황을 파악하여 그 단계의 실패율을 구하는 문제이다. stages.length가 곧 사람들의 수를 의미하며, 스테이지가 올라가는대로 해당 스테이지에 관한 인원수가 -1씩 된다. 정리하면 이렇다. 예를 들어 [1, 2, 2, 4, 5] 라는 스테이지가 주어지고(물론 오름차순으로 주어지는 것은 아니다), 구하고자 하는 스테이지가 4스테이지 일 때로 가정해보겠다. 총인원 : 5명 1 스테이지 : [1, 2, 2, 4, 5] - 1명 (총 인원 5명) ..

알고리즘/프로그래머스

[프로그래머스/JAVA] 가장 먼 노드(DFS/BFS)

가장 먼 노드 문제는 노드로 주어지는 상황속에서 1부터 n까지의 관계 안에 가장 먼 노드를 찾는 문제이다. 즉, 위와 같은 모형이 주어지면 가장 먼노드인 5, 4, 6 의 개수 3을 return하면 된다. 우선 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS) 둘 중 어느 방식을 선택할 것인가에 대해 생각이 필요해보였다. 가장 먼 노드를 따져본다고 했을 때 가정을 해보았다. 그랬더니 순서가 대충 이렇게 나올 것 같다. 1 - 2 - 5(return) - 4 - 3(?) - 6 ... 어떻게 순서를 잡냐에 따라 다르겠지만 4에서 3으로 가는게 말이 될까? 2에서 이웃한 노드도 사실 상 3, 4, 5이기 때문에 2 - 3으로의 순서도 고려해볼 필요가 있다. 깊이 우선 탐색에서는 가장 먼 노드가 몇개있는지 ..

Heony
'자바' 태그의 글 목록