728x90

공부 39

백준 알고리즘 - 브론즈3 #10818(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈3 #10818번 "최소, 최대" 파이썬으로 풀었습니다. 음... 주어진 값의 최대값과 최소값을 구하면 됩니다 파이썬에서는 min()과 max()를 통해 쉽게 값을 구할수 있습니다 하지만, min max를 쓰지 않고 풀었습니다 입력값을 리스트로 받습니다 한줄에 들어오기에, split()을 이용해서 받으면 됩니다 주어질수 있는 값의 범위 중 가장 작은 값을 max, 가장 큰 값을 min으로 정하고 for문을 돌립니다 for문을 한번만 돌아도 되는데, 최대값에 한번, 최소값에 한번 돌렸네요 for문에서 현재 정의된 최대값보다 크면 최대값에 저장하고, 최소값보다 작으면 최소값으로 저장하여 마지막에 저장된 값을 출력해줍니다 좋은하루 되세요~~

백준 알고리즘 - 실버1 달성

안녕하세요~~ ㅎㅎ 간만에 백준 레벨이 올랐습니다 260문제를 풀었고, Silver1에 도달하였습니다 Silver2에 도달하고 거의 한달 걸렸습니다 목표인 골드까지 150점 남았습니다. 현재 속도라면 다음달에 골드에 도달 가능할것 같으네요 10월 중순 시작해서, 11월 출장으로 조금 더디어 졌는데, 겨울 들면서 다시 열심히 Rating을 올리고 있습니다 현재 61일 연속으로 문제를 풀고 있습니다. 곧 64일 연속을 달성하고 뱃지도 받을수 있을거 같으네요 뱃지는 9개 수집했고, 스트릭으로 5개, 문제풀이로 4개 받았습니다 문제풀이 뱃지는 올해 생긴거 같으네요 다음 문제풀이 뱃지는 500개여서, 시간이 좀 걸릴것 같습니다 11월에 쉬운 문제를 좀 많이 풀면서, Rating은 부진했지만, 문제수 그래프는 정체..

백준 알고리즘 - 브론즈1 #1110(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈1 #1110번 "더하기 사이클" 입니다. 브론즈 4, 5를 풀다 갑자기 난이도가 올라갔네요 일정한 규칙을 통해 수가 변경되고, 동일한 수가 되면 멈추어 줍니다 여기서 규칙은 1읠 자리의 수가 10의 자리로 이동하고, 10자리와 1자리를 더하여 새로운 1의 자리에 입력해줍니다 2행: 첫 숫자를 입력 받습니다 4행: while문을 돌리기 위해, 비교할 숫자는 -1로 임의로 넣습니다. 입력받을 값이 0보다 큰수이니 while문에 들어가기전에는 같아질수 없습니다. 7행: 입력받은 값을 new_number에 저장해줍니다. 지금보니... c_number와 new_number 하나만 있어도 풀수가 있었겠네요... 9행: while문을 시작합니다. 입력값과 c_number..

백준 알고리즘 - 브론즈5 #2438, 2439(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈5 #2438번 "별 찍기 - 1" 입니다. for 문을 활용하여 * 을 예제와 같이 출력하여 줍니다 몇번째 줄을 출력하는지 값을 받아 옵니다 이후 for 문을 활용하여 * 을 반복 적으로 출력합니다 주의할 점은 매 줄마다 * 의 수가 늘어나는 것인데, 이건 for 문에서 i 의 값이 1씩 증가하는것을 이용하면 됩니다. i 가 0에서 count-1까지 증가하기에, 출력시 +1을 하면, 1부터 count까지 *을 출력 할수 있습니다 브론즈5 #2439번 "별 찍기 - 2" 입니다. 별찍기 - 1과 유사하지만 * 앞에 공백을 넣어줘야 합니다 * 이 증가하는 것은 동일하지만 * 앞에 공백을 넣기 위해 따옴표에 스페이스를 한칸 입력 합니다. 공백도 곱하여 출력이 가능..

백준 알고리즘 - 브론즈4 #15552(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈4 #15552번 "빠른 A+B" 입니다. 시간 초과가 발생할수 있는 문제입니다 기존에 input()을 통해 입력을 받았다면, 이번 문제는 sys를 import 한후, sys.stdin.readline()을 통해 입력을 받으면, 시간을 단축 할수 있습니다 1행에 sys를 import 해줍니다 그리고 2행에서 입력값을 받습니다 A,B를 값이 없는 리스트로 만들어 줍니다 for문을 통해 A,B의 값을 받아옵니다. 다시 for문을 통해 합을 출력해줍니다 문제 자체는 매우 쉬우나, input()을 통해 문제를 풀면 시간초과에 걸리게 됩니다 좋은 하루 되세요~~

백준 알고리즘 - 브론즈5 #25304(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈5 #25304번 "영수증" 입니다. 영수증 총액과 구매내역을 비교하는 문제입니다 첫줄에 총액, 둘째줄에 물건 수량을 받습니다 그리고, price와 num이 들어갈 리스트를 만들어 줍니다 for문을 통해 물건 수량만큼 금액과 수량을 입력 받습니다 입력받은 금액을 for문을 통해 합산합니다 이후 if문을 통해 총액과 영수증금액이 맞는지 비교하여 줍니다 for문을 한번만 하여 바로 합계를 구할수도 있었네요 브론즈5여서 문제가 없는데, 알고리즘 문제 특성상 높은 단계로 가면서, 시간이나 메모리를 적게 쓰는 방법을 찾아야 합니다 좋은 하루 되세요~~

백준 알고리즘 - 브론즈5 #8393(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈5 #8393번 "합" 입니다. 1부터 입력된 값까지의 합을 출력하는 문제입니다 for문을 사용하여 1부터 입력값까지 돌면서 값을 더해 주면됩니다 1행에서 값을 받습니다 3행에 출력할 합의 값을 0으로 저장합니다. 아직 아무런 수도 더해지지 않았기에 0을 저장합니다 for문을 통해 입력값보다 1 큰수의 range()로 반복시킵니다 입력값을 넣으면 해당값이 되었을때 멈추기에, 해당 값은 실행이 되지 않습니다 마지막에 합을 출력해주면 됩니다 좋은 하루 되세요~~~

백준 알고리즘 - 브론즈5 #2739(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈5 #2739번 "구구단" 입니다. 입력된 숫자에 해당하는 단을 출력하면 됩니다 for문을 이용해서 1에서 9까지 반복하게 해줍니다 9까지 하여야하기에, range(1,10)으로 범위를 정해줍니다 출력은 포맷을 입력값 * 1(~9) = 얼마 형태로 해야 하기에, 문자와 숫자가 순차적으로 출력 되게 합니다 print()를 사용할때, 한줄에 여러 값을 넣으면 자동으로 한칸을 뛰어서 값을 출력합니다 그래서 print()안에 별도 공백이 없어도, 문제에 나온 출력과 동일하게 나오게 됩니다 좋은 하루 되세요~~

백준 알고리즘 - 브론즈3 #2525(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈3 #2525번 "오븐 시계" 입니다. 어제 풀이한 문제와 유사한 문제입니다 현재 시간이 주어지고, 요리에 필요한 분이 주어지면 완료 시간을 출력하면 됩니다 1행에서 현재 시간을 받고, 2행에서 요리에 필요한 분을 받습니다 계산을 위해 요리에 필요한 분을 시와 분으로 구분해 줍니다 //60을 통해 시간을 %60을 통해 분을 구합니다 합할 경우, 총 4가지 경우가 가능합니다 1. 시간이 24시 미만, 분이 60분 미만 - 이때는 그냥 합계를 출력합니다 2. 시간이 24시 이상, 분이 60분 미만 - 분은 그냥 더해주고, 시간은 24를 빼줍니다 3. 시간이 24시 미만, 분이 60분 이상 - 분의 합에 60을 빼고, 시간의 합에 1을 추가 합니다 4. 시간이 24..

백준 알고리즘 - 브론즈3 #2884(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈3 #2884번 "알람 시계" 입니다. 알람시계를 맞추는 문제입니다 입력 값에서 45분을 뺀 값을 출력하면 됩니다 1행에서 시와 분의 값을 받아옵니다 45분을 빼야하기에, 분이 45이상이면 시간을 수정할 필요없이 분만 계산하면됩니다 if 를 통해 45보다 크거나 같으면 분에서 45분을 뺴고 출력합니다 하지만 분이 45미만이면 시간을 1 줄이고 분에 60분을 더하여야 45분을 뺄수 있습니다 이때는 시간이 1시간 이상일 경우에는 시간에서 1을 빼면 됩니다 또다른 경우는 시간이 0일 경우인데, 이때는 전날의 의미가 되어 23시가 되게 됩니다 좋은 하루 되세요~~

백준 알고리즘 - 브론즈5 #3003(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈5 #3003번 "킹, 퀸, 룩, 비숍, 나이트, 폰" 입니다. 체스에 필요한 피스의 수를 확인하는 문제입니다 현재 있는 수가 입력으로 들어오면, 게임에 필요한 수에서 빼서 나오는 값을 출력하면 됩니다 음.... 지금 보니 좀 많이 썼네요.... a로 입력을 받고, b로 split()하여 넣고, c로 b값을 int()해서 받았네요... 1, 2, 8, 9번줄은 c = list(map(int, input().split()))으로 줄일수 있습니다 그리고 필요한 체스 넘버를 num_chess에 넣어놓고, num_chess에서 c값을 뺀 값을 dif_chess에 저장한 후 출력하였습니다 이것도 for문을 돌때 바로 빼고 출력하면 더 간단히 할수 있습니다. 오늘도 2달..

백준 알고리즘 - 브론즈4 #2480(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈4 #2480번 "주사위 세개" 입니다. 주사위를 던저 같은 수가 나오면 상금을 많이 받게 됩니다 3개가 나올 경우 상금 2개가 나올 경우 상금 모두 다를 경우 상금 3가지 경우로 구분을 해주면됩니다 처음에 3가지가 동일한 경우, a == b and b == c를 하고 두번째에 elif를 통해 a == b or b == c or a == c로 하고 마지막에 else를 통해 모두 다른 경우를 받으면 됩니다....만 2달전의 저는 다르게 했네요... 처음에 a와 b가 같은 조건에서 다른 하나가 같거나 다르거나 여기에서 이미 3가지가 같은 경우가 나왔기에, 다음 2개 조건에서 b,c가 같거나, a,c가 같은 걸로 해서 두수가 같은경우를 했습니다 그리고 마지막에 el..

728x90
반응형