목록전체 글 (287)
개발자는 기록이 답이다
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bcStUO/btssk3beCuT/ETKe6xGYKpBlAU0WPTu6W0/img.png)
시간복잡도란? 시간복잡도 : 입력 크기와 알고리즘간의 관계 알고리즘의 복잡도를 나타내는 지표 중 하나 입력 크기에 대해 프로그램의 동작시간을 가늠해볼 수 있는 수단 // 문자열의 알파벳 구성을 파악하는 코드의 시간 복잡도? // 주어진 문자열을 한글자씩 순회하면서 각 알파벳에 카운트를 증가시켜주는 코드 // 이 코드의 시간복잡도 : 연산이 얼마나 수행되는지 나타내는 형태 for (int i = 0; i < str.length(); i++) { int alphabetIndex = str.charAt(i) - 'A'; count[alphabetIndex]++; } Big-O / Big-Omega / Big-Theta 와 같은 표기법으로 나타낼 수 있다. 강의에서 다루는 것은 Big-O 정의된 입력 데이터 중..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cmvcqZ/btsskZT8SMN/Vw7Qk4GtLETegbKcxCmwxk/img.png)
https://cote.inflearn.com/contest/10/problem/01-12 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 12. 암호 예시 입력 1 4 #****###**#####**#####**##** 예시 출력 1 COOL 내가 푼 풀이 (Time: 152ms Memory: 27MB) 1. replaceAll()함수로 특수문자를 1과 0으로 바꿔준다. 2. str을 7자리씩 떼서 list에 담아준다. 3. list를 순환하면서 아스키 넘버로 바꾼 뒤, String으로 형변환(cast)한다. import java.util.ArrayList; import java.util.Scanner; public..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bkr2mI/btssvwRf5SZ/NQ6meMhR56ojK0tvPxBg0K/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Rlvhq/btssxI4HKpm/v17FQZDuhV6iLERbKxXNt1/img.png)
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로 초기화 해놓고, 일치할 경우..