목록알고리즘 문제 풀이 (142)
파란색가운의 개발 블로그

https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 카카오 공채 코테 문제였다... 그래서 보통 1시간정도 고민하면 답지를 보지만 이건 할 수 있을 것 같았고 카카오 코테 풀면 다른 웬만한 기업 코테는 할만할테니 오기를 가지고,, 2시간동안 풀었다 문제 설명 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있..

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 array = [] elems = [] array = sys.stdin.readline().rstrip() sum = 0 for i in range(len(array)): if array[i] >='0' and array[i]

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 def LUCKY(array): leftsum = 0 rightsum = 0 N = len(array) // 2 for i in range(N): leftsum += array[i] for j in range(N+1, len(array)): rightsum +=array[i] if rightsum == leftsum: print("LUCKY") else: print("READY") array = list(map(int,sys.stdin.readline().rstrip())) LUCKY(arra..

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 def findpath(x,y,way): count = 1 graph[x][y] = -1 flag = 0 way +=200 while True: visitcount = 0 for _ in range(4): nx = x + dx[(way-1)%4] ny = y + dy[(way-1)%4] if graph[nx][ny] == 0: graph[nx][ny] = -1 # 방문 처리 count +=1 flag = 1 visitcount +=1 x,y = nx,ny way -=1 if flag == 0:..

꽤 쉬운 문제였다 이제 할 줄 알아야 하는건 파이썬에서 a를 0부터 시작 , b가 1 문자 -> 숫자 아스키코드 변환은 ord('a') 하면 97이 나온다 그래서 ord(elem[0]) - 97 해주면 a가 0 , b가 1 이렇게 추출할 수 있었다. import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 def findroad(): row = ord(elem[0]) row -= 97 col = int(elem[1]) - 1 count = 0 for i in range(8): nx = row + dx[i] ny = col + dy[i] if nx >..

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 def solution(food_times, K): if sum(food_times)

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 N,M = map(int,sys.stdin.readline().split()) x = list(map(int,sys.stdin.readline().split())) x.sort() count = 0 for i in range(len(x)): for j in range(i,len(x)): if x[i]!=x[j]: count +=1 print(count) 처음에 보고 이렇게 쉽다고? 하면서 풀었는데 이러면 반복문이 총 len(x) * ( 1 + 2 + ... (len(x)-1)만큼 돌아가므로 메..

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 N = int(input()) x = list(map(int,sys.stdin.readline().split())) x.sort() target = 1 for elem in x: if target < elem: break # 만들 수 없는 금액 target += elem print(target) 30분 고민하다가 그냥 답지 봤다 코드가 참 짧네..^^ 열심히 해야겠다. 로직은 이해했는데 이걸 다시 복습해야할 필요가 있을 듯 하다

import sys # sys.stdin.readline() from collections import deque sys.setrecursionlimit(100000000) import heapq INF = 1e9 x = list(sys.stdin.readline().rstrip()) countzero = 0 countone = 0 count = 0 if x[0] == '1': countzero = 1 else: countone = 1 for i in range(len(x)-1): if x[i]!=x[i+1]: if x[i+1] == '0': countone +=1 # 0-> 1 else: countzero +=1 # 1-> 0 value = min(countone,countzero) print(valu..