목록알고리즘 (60)
개발자는 기록이 답이다
https://school.programmers.co.kr/learn/courses/30/lessons/181880 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 푼 풀이 1. int배열을 순회하면서 홀수 짝수일 경우 계산해서 count를 증가 시켰다. 2. 첫번째 인덱스값이 1이 되기 전까지 계속 계산한다 class Solution { public int solution(int[] num_list) { int answer = 0; for (int i = 0; i < num_list.length; i++) { int tmp = num_list[i];..
https://www.youtube.com/watch?v=9MMKsrvRiw4&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=2 문제 1 - O(N) N이하의 자연수 중에서 3의 배수이거나 5의 배수인 수를 모두 합한 값을 반환하는 함수 func1(int N)을 작성하라. N은 10만 이하의 자연수 이다. func1(16)=60 public class Main { public int solution(int num) { int ret = 0; for (int i = 1; i
시간복잡도란? 시간복잡도 : 입력 크기와 알고리즘간의 관계 알고리즘의 복잡도를 나타내는 지표 중 하나 입력 크기에 대해 프로그램의 동작시간을 가늠해볼 수 있는 수단 // 문자열의 알파벳 구성을 파악하는 코드의 시간 복잡도? // 주어진 문자열을 한글자씩 순회하면서 각 알파벳에 카운트를 증가시켜주는 코드 // 이 코드의 시간복잡도 : 연산이 얼마나 수행되는지 나타내는 형태 for (int i = 0; i < str.length(); i++) { int alphabetIndex = str.charAt(i) - 'A'; count[alphabetIndex]++; } Big-O / Big-Omega / Big-Theta 와 같은 표기법으로 나타낼 수 있다. 강의에서 다루는 것은 Big-O 정의된 입력 데이터 중..
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..