본문 바로가기

programmers39

프로그래머스 Lv.0 문자열이 몇 번 등장하는지 세기 프로그래머스 Lv.0 문자열이 몇 번 등장하는지 세기 문자열 myString과 pat이 주어진다. myString에서 pat이 등장하는 횟수를 return하라. myString pat result "banana" "ana" 2 "aaaa" "aa" 3 ** 풀이 방법 1. myString의 길이만큼 인덱스를 도는 반복문 2. myString의 인덱스부터 각 문자에 접근하는 반복문 이중반복문을 통해서 현재 인덱스부터 각 문자들을 더해 새로운 res라는 문자열을 만들고 이 res가 pat과 같아지면answer를 1증가시키고,하위 반복문을 빠져나온다. 전체 코드 class Solution { public int solution(String myString, String pat) { int answer = 0;.. 2023. 7. 28.
프로그래머스 Lv.0 정사각형으로 만들기 프로그래머스 Lv.0 정사각형으로 만들기 이차원 정수 배열 arr이 주어진다. arr의 행 수가 더 많다면 열의 수가 행의 수와 같아지도록 각 행의 끝에 0을 추가하고, 열의 수가 더 많다면 행의 수가 열의 수와 같아지도록 각 열의 끝에 0을 추가한다. 이렇게 만들어진 이차원 배열을 return한다. arr result [[572, 22, 37], [287, 726, 384], [85, 137, 292], [487, 13, 876]] [[572, 22, 37, 0], [287, 726, 384, 0], [85, 137, 292, 0], [487, 13, 876, 0]] [[57, 192, 534, 2], [9, 345, 192, 999]] [[57, 192, 534, 2], [9, 345, 192, 99.. 2023. 7. 28.
프로그래머스 Lv.0 구슬을 나누는 경우의 수 프로그래머스 Lv.0 구슬을 나누는 경우의 수 모두 다르게 생긴 구슬을 친구들에게 나누어주려고 한다. 구슬의 개수 balls와 나누어 줄 구슬 개수 share이 주어진다. balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 reutrn하라. 구슬을 고르는 순서는 고려하지 않는다. balls share result 3 2 3 5 3 10 ** 풀이 방법 재귀 함수를 사용하려고 했으나 ㅈㅔ출할 때 자꾸 오류가 나서 방법을 바꿨다. 경우의 수 공식 * double형으로 d1, d2, d3 선언 d1 = 1 ~ balls까지 곱하기 d2 = 1 ~ res까지 곱하기 d3 = 1 ~ share까지 곱하기 공식에 적용 result→ d1 / (d2 * d3) 반올림한 result값을 int.. 2023. 7. 28.
프로그래머스 Lv.0 무작위로 k개의 수 뽑기 프로그래머스 Lv.0 무작위로 k개의 수 뽑기 랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 한다. 일정한 범위 내에서 무작위로 수를 뽑은 후, 지금까지 나온적이 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만든다. 정수 배열 arr가 주어지고, 무작위 수는 arr에 저장된 순서대로 주어질 예정이다. 완성된 배열을 return하라. 단, 완성될 배열의 길이가 k보다 작으면 나머지 값을 -1로 채워서 return한다. arr k result [0, 1, 1, 2, 2, 3] 3 [0, 1, 2] [0, 1, 1, 1, 1] 4 [0, 1, -1, -1] ** 풀이 방법 arr배열의 중복값을 없애서 ArrayList에 저장한다. List list = new ArrayList(); for (int i.. 2023. 7. 28.
반응형