프로그래머스 3

[프로그래머스] 이진 변환 반복하기

프로그래머스 70129 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 이진 변환을 반복하면서 몇 번 이진 변환을 진행했는지, 이진 변환을 진행하면서 제거한 0의 개수의 합을 answer 배열에 담으면 된다. 이진 변환을 멈추는 조건은 주어진 String s가 "1"이 될 때까지이다. replaceAll을 통해서 "0"을 모두 ""으로 변환하고 replaceAll을 하기 전 문자열과 한 후 문자열의 길이를 비교한다. 또한, 변환한 문자열의..

알고리즘 2022.09.11

[프로그래머스] 숫자 문자열과 영단어

프로그래머스 81301번 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 one4seveneight을 다시 1478로 바꿔달라는 문제이다. 숫자에 대응되는 영단어의 알파벳 특징을 바탕으로 변환하였다. 주어진 문자열을 for문으로 하나씩 읽어들이면서 zero, one, eight, nine의 경우 첫 알파벳이 고유하다. 따라서 이 영단어를 만나면 곧장 바꿔주고 읽어들인 문자열 수만큼 for문 포인터를 이동시킨다. s로 시작하거나 t, f로 ..

알고리즘 2022.09.08

[프로그래머스] 징검다리 건너기

프로그래머스 64062번 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 효율성 부분이 있어서 입력값 개수를 봤더니 stones 배열의 크기가 최대 200,000개이고 각 원소들의 값이 최대 200,000,000이다. 각 stones에 200,000,000씩 들어가 있고 니니즈 친구들의 수는 2억명까지도 될 수 있기 때문에 그냥 배열 돌리기를 해버리면 입력값이 너무 커서 시간 초과가 뜨게 된다. 아래 코드는 그냥 배열 돌리기한 코드이다. 정확성..

알고리즘 2022.09.04