목록전체 글 (38)
Bonfire
새롭게 JAVA개발을 진행하기 위해 JAVA 공부를 시작했다. 오늘 공부한 내용Java의 특징자바의 모토한번 프로그램을 작성하면 운영체제와 무관하게 실행 가능해당 운영체제에 해당하는 JDK가 설치되어있어야함WORA: Write Once, Run Anywhere.플랫폼 독립적인 언어자바가상 머신(Java Virtual Machine)운영체제에게 메모리를 할당받아 자바 프로그램을 실행컴파일된 바이트코드를 실행 시킬 수 있는 소프트웨어소스코드 → 바이트코드(Hello.java) →컴파일러(javac.exe)→(Hello.class)자동으로 main method를 찾아 감.main method가 끝나면 프로그램이 종료됨.소스 파일 컴파일시 이름하나의 클래스 안에는 여러 클래스를 정의 할 수 있고, 각각의 컴파일..
프로그래머스 정수 삼각형이 문제는 전형적인 DP문제다.삼각형에 있는 경로들을 모두 따라가보면서 최대값을 갱신하고, 마지막 줄에 최대가 되는 값을 출력하면 되는 문제이다.나의 코드1 (이전 코드) 하나의 리스트에 계속해서 덮어쓰는 형식으로 진행했다.def solution(triangle): mem=[0 for _ in range(len(triangle)+2)] for seq in range(len(triangle)): temp=[] for i in range(len(triangle[seq])): temp.append(max(mem[i],mem[i+1])+triangle[seq][i]) for j in range(len(temp)): ..
프로그래머스 N으로 표현내가 제일 어려워하는 DP 문제이다.백준에서 숨바꼭질 문제나 N으로 만드는 다른 문제들을 풀어봐서 비슷하게 풀어봤지만, 조금 차이점이 있었다.다 풀지는 못하고 일부만 해결한 정답을 기록해 둔다.나의 코드from collections import dequedef solution(N, number): limit=32000*N+1 dp=[1e5 for _ in range(limit)] start=N queue=deque() count=1 nums=[] while startdp[now]+adds: dp[next_num]=dp[now]+adds queue.append(ne..
프로그래머스 단속 카메라요약 : 이 문제는 고속도로를 지나는 차량들의 경로를 주어주고, 모든 차량을 최소한 한번씩 단속할 수 있도록 카메라를 설치하는 문제이다.처음에 풀때는 이 문제를 어떻게 풀어야하나 고민됐지만, 이전에 풀어본 프로그래머스에서 미사일 쏘는 문제인 요격시스템을 풀어본 뒤라, 바로 답을 알 수 있었다. https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 단속 구간의 끝나는 지점을 기준으로 정렬해서, 그 끝에 하나 설치 한 ..
프로그래머스 섬 연결하기이 문제 카테고리가 그리디로 되어있지만, MST(Minnimum spanning Tree)를 알면, 쉽게 풀 수 있다.MST를 구할때 두가지 방법이 있는데, heap 자료구조를 이용한 프림 알고리즘, 정렬을 활용한 크루스칼 알고리즘이 있다.각 알고리즘을 간략하게 설명하자면 다음과 같다.프림 알고리즘은 정점을 하나 잡고, 그 정점에서 연결할 수 있는 최소 비용의 간선을 연결시마다 갱신하며, 합쳐가는 알고리즘이다.크루스칼 알고리즘은 모든 간선을 비용순으로 놓고, 비용이 작은 간선부터 연결하며, 사이클이 발생하지 않도록 (두 정점간에 하나의 경로만 있도록), 체크하며 정점들을 연결하는 알고리즘이다.이 두 개 알고리즘을 모두 사용할 수 있지만, 일반적으로는 정점이 많이 주어지면 프림 알..