반응형

분류 전체보기 161

[프로그래머스 자바] 문자열 반복해서 출력하기 코드

https://school.programmers.co.kr/learn/courses/30/lessons/181950 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문자열 str과 정수 n 이 주어질 때 str을 정수 n 만큼 반복된 문자열을 만들어 출력하도록 만든다 입력 첫줄에 문자열 str과 n이 공배 사이로 주어진다 출력 주어진 문자열은 n만큼 연속해서 출력하게 한 풀이 for 을 이용하여 입력받은 n 만큼 반복하게 만든다 출력할 때 한 줄 띄울 필요가 없기에 print를 사용한다 코드 import java.util.Scanner; public ..

[백준 1789 파이썬] 수들의 합

백준 1789 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 서로 다른 n개의 자연수의 합을 s라 할 때 자연수 n의 최댓값은 얼마인가 (n개의 자연수의 합이 s 이다) 입력 첫째줄에 자연수 s가 주어진다 출력 n의 최댓값을 출력한다 풀이 n의 개수를 최대로 하기 위해서는 1부터 n의 값을 +1 하여 s에 근접하게 만들면 된다고 생각하였다 그래서 반복문을 사용하여 1부터 s보다 작거나 같을 때까지 더하여 s보다 커지면 현재 더한 값에서 -1 한 값을 출력한다 코드 s=int(input()) sum=0 i=1 while sums: #더했을때 s보..

[백준 2293 파이썬]동전 1 풀이

문제 n가지 종류의 동전이 있고 각 동전은 서로 다른 가치를 나타낸다 그 동전을 합이 k 가 되도록 하는 경우의 수를 구한다 단 가각의 동전은 몇개라도 사용할 수 있다 사용한 동전의 구성이 같은데 수선만 다른 경우는 같은 경우이다 입력 첫줄에 n,k 가 주어지고 다음 n개의 줄에 각 동전의 가치가 주어진다 출력 경우의 수를 출력한다 코드 -처음 생각할때 완전 탐색 방식을 생각하여 문제를 풀었다 def msum(count,result): global ans if result >k: return elif result==k: ans+=1 else: msum(count,result+data[count]) if count 1+1, 2 3이 될 경우수는 2=> 1+1+1, 2+1 dp[i-코인의 값]의미는 그 코인..

[자바] 변수 선언,데이터 타입,

변수 선언 -변수란 어떠한 값들을 저장하는 자리를 만드는 것을 변수라고 합니다 //변수 선언 int a; char c; 변수 선언은 위의 코드와 같은 방식으로 선언 합니다 여기서 int .char 은 변수타입(데이터 타입) 이라고 하고 a,c는 변수명이라고 합니다 -변수 타입 boolean c = true;// true false 만 사용가능 char d='A'; //문자 하나 String e= "hello java"; //문자열 //정수 byte b; //-128~127 short s; // -32768~32767 int a=100;; //-21억~21억 long l =123L; //-9233372036854775808~9.... 뒤에 영어대문자L //실수 float f=10.0f; double b=1..

[백준 2512 파이썬] 예산 풀이

문제 -줄 수 있는 예산의 총액이 이 주어지고 그 총액이 넘지 않는 선에서 각 지방에 최대한으로 공급하고 한다. 입력 첫째줄에는 지방수 둘째 줄에서는 각 지방이 요청하는 예산 셋째 줄에는 총예산 출력 각 지방에 배정될 예산중 최대를 출력한다 풀이 가능한 예산값 v를 1부터 해서 증가해서 각 지방이 요청한 값보다 크면 그 지방이 요청한 값을 예산으로 정하고 작으면 v로 하여 총예산 보다 작은지 큰지 확인하면서 가능한 v의 최댓값을 구할 수 있다 다만 이렇게 하면 이 문제에서는 시간 초과로 나오기에 이분탐색 방법을 사용하여 좀 더 빠르게 구할 수 있다 이분탐색은 변수 s에 0을 변수 e에 지방이 요청하는 예산중 가장 큰 값으로 하여 (s+e)//2 중간값을 구하여 그 값을 기준으로 위의 과정을 돌려 총예산보..

[백준 11508 파이썬] 2+1 세일 풀이

문제 유제품을 3개를 한 번에 산다면 그중 가잔 싼 것은 무료 나머지 두 개의 제품 가격만 지불한다 한 번에 3개를 사지 않는다면 할인 없이 정가 지불해야 한다 입력 첫 줄에 유제품수 두 번째 줄부터는 각 유제품의 가격 출력 n개의 유제품을 살 때 최소 비용을 출력한다 예제 (3,2,2) (3) 이렇게 구입한다 문제풀이 1. 정렬을 이용하여 큰 수부터 정렬한다 2. 입력받은 유제품 가격을 루프를 돌려 3의 배수가 아닐 때 그 유제품 가격을 더한다 코드 n=int(input()) data=[] for i in range(n): a=int(input()) data.append(a) #유제품 가격 저장 data.sort(reverse=True) #역정렬 answer=0 count=1 while count

백준 7562 나이트의 이동 파이썬 풀이

https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 나이트는 총 8방향으로 이동한다 현재위치가 (0,0) 일때 (1,2) (-1,2) (1,-2) (-1,-2) (2,1) (2,-1) (-2,1) (-2,-1) 그렇기에 bfs 알고리즘을 사용하여 현재 위치에 대해서 8방향의 이동을 모두 돌리고 이미 방문한 위치라면 이동하지 않게 만들었다 8방향으로 이동할때 주어진 체스판 넘어로 이동하지 못하도록 조건또한 추가해주어야한다. 알고리즘 1)체스판 범위 만큼..

백준11403 경로찾기 파이썬 풀이

https://www.acmicpc.net/problem/11403 11403번: 경로 찾기가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 프로그램을 작성하시오.www.acmicpc.net가중치 없는 그래프가 주어질때 모든 정점 에 대해서 모든 정점으로 가는 길이 존재 하는 없는 지 구하는 문제로 플로이드 워셜 알고리즘을 사용했다 플로이드 워셜 알고리즘은 모든 정점에서 모든 정점으로 가는 최소 거리를 구할수 있게 해주는 알고리즘이다 입력 첫줄에 정점의 갯수 n 두번째 줄부터 n개 줄까지 서로 각 정점 i 에서 j로 가는 길을 있다면 1 없다면 0으로 주어진다 출력 i에서 j로 가는 길이 있다면 1 없다면 0으로 출..

반응형