분류 전체보기 275

[백준/알고리즘/python/java] 11399번 - ATM

최소값을 구하려면 우선, 시간을 오름차순으로 나열하는 것이 관건이다. 처음에는 map 함수를 통해서 여러개의 값을 받는 것을 list화 시켜서 정렬(sort)을 해야 하는데, 사용자에게 여러개의 값을 입력받을 때 number 값을 이용하는 줄 알고 애를 먹었다. 자바같은 언어에서는 보통 number 같은 변수를 입력 받아 for문을 돌면서 배열에 값을 넣어주기 때문이다. 하지만, 사용자에게 입력 받은 number는 나중에 값을 하나씩 더할 때 사용되는 것이고, 사용자에게 차례로 입력받은 값을 리스트에 넣으려면 그냥 map함수를 list() 해주면 됐다. 그리고 정렬을 할 때는 맨 처음에 애를 먹었던 것이 number = int(input()) time_list = map(int, input().split..

[백준/알고리즘/python/java] 11047번 - 동전 0

전형적인 그리디 알고리즘 문제이다. 주어진 금액을 만드는데 필요한 동전개수의 최소값을 구하는 것이므로, 주어진 금액에서 큰 금액을 빼가면서 개수를 구하면 최소 개수를 구할 수 있을 것이다. (맨 처음 풀었던 코드-시간초과) n, k = map(int, input().split()) coins = [] count = 0 for i in range(n): coins.append(int(input())) coins.reverse() standard = coins[0] for coin in coins: standard = coin if(k-standard = 0): k -= standard count += 1 print(count) 동전 리스..

[백준/알고리즘/python/java] 1978번 - 소수 찾기

소수 찾기는 기본 알고리즘을 공부할 때, 자주 접했던 문제이다. 사용자에게 개수를 입력받고 다음줄에 개수만큼 숫자들을 차례로 입력한다. 그 숫자들이 소수인지 소수가 아닌지 판별하기 위해서는 그 숫자를 2부터 그 숫자까지로 나눠봐야 알 수 있다. 그런데, 예를 들어 21 이라는 숫자를 가정해보자. 21의 약수는 1,3,7,21 이다. 지금의 경우에야 21을 3으로 나누면 나누어 떨어지므로 반복문을 돌 때 break 구문을 만나 탈출 할 것이다. 다른 문제에서는 이 숫자를 굳이 21까지 나눌 필요는 없다는 뜻이다. 어차피 약수는 서로 양끝의 숫자들이 차례로 쌍을 이루어 곱한 값이 그 수를 이룬다. 그렇다면, 해당 숫자의 제곱근 까지만 반복문을 돌아도 상관없어지게 된다. 이런 알고리즘은 약수의 개수가 몇 개인..

[C언어] 7. 포인터

- 포인터에서부터 사람들이 C언어를 어려워하는데 전혀 어려운 내용이 아니다! 인터넷에도 포인터에 대한 자료도 풍부하다. 향후 훌륭한 프로그래머가 되려면 이 '포인터' 공부를 제대로 해놓으면 빛을 볼 수가 있다. 웹개발이나 앱개발 쪽에서는 굳이 몰라도 큰 상관이 없긴 한데, 코어 모듈 개발도 우리는 할 수 있어야 한다! 자 그럼 시작해보장 v^___^ 7. 포인터 - 지금까지의 변수는 "그 자체로 자신의 자료형에 맞는 값"을 저장한다. ex) int,double 등등 - 포인터(Pointer)변수는 “특이한 변수”로, “메모리 주소”를 저장한다. ex) int형 변수를 만들 때, 이 변수의 위치값을 가르키는 int형 포인터가 존재할 수 있는 것이다. 포인터는 *(별표시)로 이용해서 나타낼 수 있다. (in..

[C언어] 6. 배열

6. 배열 - 3개의 숫자가 있을 때 가장 큰 숫자를 구하는 프로그램을 작성한다고 하면, 기본적으로 변수의 이름을 a,b,c로 설정하면 된다. 하지만, 숫자가 100개라면 어떻게 처리할 수 있을까? ▶비효율적이긴 하지만 변수 100개를 초기화 시킬 수 있다.(만들어서 선언할 수는 있다. 정말 비효율적) 하지만, 숫자가 100만개라면..? ▶ 일일이 변수를 만들어서 처리할 수 없을 것이다. 따라서, “동일한 자료형”을 “여러 개 담는 기술”이 필요한데, 이것이 바로 배열이다! - 배열을 사용하면 동일한 성격의 데이터를 다수 표현할 수 있다. 배열의 선언 자료형(double, float, int 등등) 배열명 [배열의 크기]={초기화 값}; - 배열의 크기는 배열의 개수라고 생각하면 된다 - 초기화 값은 있..

반응형