알고리즘 (JAVA) 34

[코테준비 - python] 프린터 level2 - 개발자배찌

https://school.programmers.co.kr/learn/courses/30/lessons/42587?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 딱 봐도 큐 문제다. 문법력이 부족한 나는 heap이나 queue를 활용하지 못하고 리스트 튜플로 정의해서 풀었다.. 풀릴듯 말듯.. 꽤 시간을 잡아먹었던 녀석 내 성공한 문제풀이 def solution(priorities, location): answer = 0 temp = [(i,p) for i,p in enumerate(priorities)] queue=[] f..

[코테준비 - python] n^2 배열자르기 level2 - 개발자배찌

💗풀이과정💗 입력값 = n, left, right 1. n*n의 2차원 배열을 만든다. 값은 0으로 초기화 2. i * i 행까지 값을 i로 넣는다. 3. 2차원 배열을 1차원 배열로 만든다. 4. 해당 배열에서 left부터 right까지의 배열만 쪼갠다 일단 여기서 막혔던 부분은 2번.. "i * i 행 까지 값을 i로 넣는다" 이게 죽어도 안구해졌다. 다른사람의 풀이를 보니, 나처럼 위 풀이방법으로 하면 시간초과가 뜬다고 한다. 아무리 발악해도 안되는 문제풀이였다.. 규칙을 찾아내야한다!! 그치만 아무리 생각해도 규칙도 찾아지지도않음.. 여기 밑에 까지는 생각해냄.. ! n이 3일때 (0,0)(0,1)(0,2) (1,0)(1,1)(1,2) (2,0)(2,1)(2,2) Max값으로 따지면 0 1 2 1..

[코테준비 - python] 겹치는 선분의 길이 - 개발자배찌

코딩테스트 연습 - 겹치는 선분의 길이 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(lines): answer = 0 x = dict() xx =[] for i in lines : for j in i : xx.append(j) xx = sorted(xx) for i in range(xx[0],xx[-1]) : x[i] = 0 for i in lines : for j in range(i[0],i[1]) : x[j] += 1 for i in range(xx[0],xx[-1]) ..

[코테준비 - python] 멀리뛰기 level2 - 개발자배찌

정말 현타가 왔던 문제. 하루종일 어떻게 풀까 생각했지만 나오지않았던 문제 결국 구선생의 도움을 받아 피보나치수열로 풀면된다는 해답을 얻고 코딩을 해보았다. https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 문제풀이 #n =1 경우의수 1 1 #n =2 경우의수 2 1,1 2 #n =3 경우의수 3 1,1,1 1,2 2,1 #n =4 경우의수 5 1,1,1,1 1,1,2 1,2,1 2,1,1 2,2 #n =5 경우의수 8 1,1,1,1,1 1..

[코테준비 - python] 신규 아이디 추천 level1 - 개발자 배찌

https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성공한 나의 코드 def solution(new_id): answer = '' #1단계 new_id = new_id.lower() #2단계 for i in new_id : if i.isdigit() or i.islower() or i in "-_.": answer += i new_id = answer #3단계 while '..' in new_id : new_id = new_id.replace('...

[코테준비 - python] 시저 암호 level1 - 개발자배찌

https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알아야 했던 부분! 우선 이 문제를 풀기 전 반드시 알아두어야하는 파이썬의 내장함수가 있다. - ord(문자) : 문자의 아스키 코드 값을 반환한다. - chr(아스키코드) : 아스키코드 값을 반환한다. 성공한 풀이과정 def solution(s, n): answer ='' for i in s : if i == ' ' : answer += ' ' else : # ord(문자) : 문자의 아스키 코..

[코테준비 - python] 영어가 싫어요 level0 - 개발자 배찌

코딩테스트 연습 - 영어가 싫어요 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성공한 내 코드 def solution(numbers): num_dict = { "zero":0, "one":1, "two":2, "three":3, "four":4, "five":5, "six":6, "seven":7, "eight":8, "nine":9 } for i in num_dict : if i in numbers : numbers = numbers.replace(i, str(num_dict.get(i))) a..

[코테준비 - python] 문자열 내 마음대로 정렬하기 level1 - 개발자 배찌

https://school.programmers.co.kr/learn/courses/30/lessons/12915?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 일단 알아야했던 포인트!! dict 정렬!! - key 기준으로 정렬 (오름차순) sorted_dict = sorted(x.items()) - key 기준으로 정렬 (내림차순) sorted_dict = sorted(x.items(), key=lambda item:item[0], reverse = True ) - value 기준으로 정렬 (오름차순) sorted_dic..

[코테준비 - python] 숫자의 표현 level2 - 개발자배찌

코딩테스트 연습 - 숫자의 표현 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성공한 나의 문제풀이 def solution(n): answer = 0 for j in range(1,n+1) : sum = 0 for i in range(j,n+1) : sum += i if sum == n : answer += 1 break elif sum > n : break return answer 실패했던 문제풀이 재귀함수 써보려고했으나 알수없는 오류때문에 해결하지못했다 ㅠ def solution(n) : tes..

[코테준비 - python] 올바른 괄호 level2 - 개발자 배찌

첫 시도! >> 5,11,17실패, 효율성2 실퍠 문제점 : 첫 시작이 ‘)’일때 false 로 잘생각해냈으나, 마지막끝이 ‘(’일때도 false임을 생각하지 못함. 마지막에 ( ) 가 됬을 때, stack에서 pop을 하고나서, 앞쪽에 있던 괄호를 생각을 하지 않고, 뒤에 쌓인것만 비교하게됨. 첫 시도_문제의코드 ㅇ_ㅇ def solution(s): answer = True stack = [] for i in range(len(s)): if(s[0] == ')' or s[-1] == '(') : answer = False break for i in range(len(stack)) : if stack[i-1:] == ['(',')'] : stack.pop() stack.pop() if len(stack)..