[프로그래머스] JadenCase 문자열 만들기 Python
·
개발💻/알고리즘
진짜 오랜만에 돌아온 알고리즘.. 정말 쉬운거라도 다시 해보려고 한다... def solution(s): answer = '' s = " " + s for i in range(1, len(s)): if s[i-1] == " ": answer += s[i].upper() else: answer += s[i].lower() return answer처음 생각으론 0부터 순회해서 하려고 했는데0이 생각보다 까다롭고if i ==0 조건을 넣으면 낭비되는 시간이 많을거 같아서그냥 처음부터 공백을 앞에 추가하고 순회를 해줬다
[프로그래머스] 등굣길 Python
·
개발💻/알고리즘
이 문제는 손으로 풀면 진짜 쉽게 할수있는데 ㅎ.. 고딩때 순열조합에 나름 자주 나왔던 문제였다 쨌든 그때의 기억을 살려서 손으로 풀던걸 코드로 재현했다 def solution(m, n, puddles): road = [[0] * m for _ in range(n)] for puddle in puddles: road[puddle[1]-1][puddle[0]-1] = -1 for i in range(1,n): if road[i][0] != -1: road[i][0] = 1 else: break for i in range(1, m): if road[0][i] != -1: ..
[프로그래머스] 이중우선순위큐 Python
·
개발💻/알고리즘
def solution(operations): q = [] for command in operations: if command[0] == "I": q.append(int(command[2:len(command)])) elif command == "D -1": if len(q) > 0: q.remove(min(q)) else: if len(q) > 0: q.remove(max(q)) if len(q) > 0: answer = [max(q), min(q)] else: answer = [0, 0] return ..
[프로그래머스] 정수 삼각형 Python
·
개발💻/알고리즘
def solution(triangle): for i in range(len(triangle)): if i == 0: continue for j in range(len(triangle[i])): if j == 0: triangle[i][0] += triangle[i-1][0] elif j == len(triangle[i])-1: triangle[i][j] += triangle[i-1][j-1] else: triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j]) a..
[프로그래머스] 단어변환 Python
·
개발💻/알고리즘
나름 평범한? dfs bfs 문제인거같은데 고민이 된게 방문한 단어를 기록하는 visited를 함수를 돌면서 들고다녀야 하나 그냥 함수 밖에 두고 사용해도 되나였다 함수 밖에두고 실행했더니 무한 재귀에 걸려 에러가 났다.. 그래서 결론은 visited도 들고 다녀야한다!! def solution(begin, target, words): answer = 0 answers = [] def search(count, keyword, visited): if keyword == target: answers.append(count) return for word in words: if word not in visited: diff_count = 0 for i in range(len(begin)): if keyword[..