목록알고리즘 (60)
개발자는 기록이 답이다
https://school.programmers.co.kr/learn/courses/30/lessons/181900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 푼 풀이 - deleteCharAt()함수 사용 1. int배열을 오름차순으로 정렬해준다. 2. StringBuilder의 deleteCharAt()함수를 사용할 것이다. 3. 해당 함수를 사용하면 특정 인덱스 문자가 지워지면서 글자가 앞으로 밀리는 현상이 발생한다 4. 삭제할때마다 글자 위치가 변하는 걸 따라가기 위해 offset변수를 사용한다. import java.util.Arrays..
https://cote.inflearn.com/contest/10/problem/01-11 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 11. 문자열 압축 예시 입력 1 KKHSSSSSSSE 예시 출력 1 K2HS7E 예시 입력 2 KSTTTSEEKFKKKDJJGG 예시 출력 2 KST3SE2KFK3DJ2G2 내가 푼 풀이 (Time: 151ms Memory: 27MB) i-1 인덱스 방식으로 풀었다. 1. 첫번째 문자를 미리 stringBuilder에 넣어준다. 2. 반복문 돌때 2번째 인덱스인 1부터 시작하고, 각각 순회하면서 이전 문자랑 일치하는지 체크한다. 3. count를 1로 초기화 해놓고, 일치할 경우..
https://cote.inflearn.com/contest/10/problem/01-10 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 10. 가장 짧은 문자거리 예시 입력 1 teachermode e 예시 출력 1 1 0 1 2 1 0 1 2 2 1 0 내가 푼 틀린 풀이 나는 해당 문제를 indexOf()를 통해 풀 수 있을 거라고 생각했지만, 중간에 타겟 문자가 있을경우 최소거리를 찾지 못한다는 단점이 있다. // 출력값 fromLeft = 10321043210 fromRight = 10321043210 1 0 3 2 1 0 4 3 2 1 0 import java.util.Scanner; public clas..
https://cote.inflearn.com/contest/10/problem/01-09 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 9. 숫자만 추출 예시 입력 1 g0en2T0s8eSoft 예시 출력 1 208 내가 푼 풀이 (Time: 162ms Memory: 27MB) 1. 입력값을 문자배열로 바꾼뒤, 알파벳이 아니면 StringBuiler로 집어넣었다. 2. 해당 StringBuilder를 문자열로 바꾸고 정수타입으로 형변환 했다 import java.util.Scanner; public class Main { public int solution(String str) { char[] chars = str..