728x90

알고리즘 31

백준 알고리즘 - 골드5 달성 (& 레이팅 관련 내용)

안녕하세요~~ 드디어 백준 알고리즘 골드5를 달성했습니다  800점부터 골드5인데, 최근 하루 1~2 문제씩 꾸준히 풀며 골드5를 달성하였습니다   22년 말부터23년 초까지 79일 연속으로 문제를 풀며, 열심히 달렸는데... 스트릭이 깨진점 플러스 문제가 어려워지며 문제 풀이에 시간이 많이 소요되어 좀 뜸했었네요 게임하듯 하다가 난이도가 높아지며, 게임을 접은 느낌입니다  빅데이터분석기사 자격증을 따며 다시 파이썬을 다루다 보니, 백준 문제 풀이했던게 생각나서 다시 시작하게 되었고, 골드5를 달성하였습니다   골드에 들어왔지만, 사실 아직 골드 난이도 문제는 하나도 풀지 못했습니다 단지 800점을 넘겨서 골드5에 들었는데, 현재 저의 수준은 실버2~3 정도가 맞는듯합니다 실버는 스스로 풀수 있거나, 구..

백준 알고리즘 - 실버5 #17478(Python)

안녕하세요 백준 알고리즘 문제풀이입니다 오랜만에 백준 문제를 풀었네요. 출장에 머다 하면서 게을러져서 거의 한달을 안풀었네요 ㅜㅜ 골드가 얼마 남지 않았기에 다시 열심히 달려보도록 하겠습니다 오늘은 실버5 #17478번 "재귀함수가 뭔가요?"를 파이썬으로 풀었습니다. 제목에 나온 그대로 재귀함수에 대한 문제입니다 함수안에서 함수를 불러서 계속 반복되게 하여야 합니다 우선 18행에서 반복하여서 나올 수를 받고, 19행에 반복되는 부분이 구분되는 "____"를 카운트할 num을 0으로 설정했습니다 반복되지 않는 첫 문장을 print해주고, 반복될 함수를 불러줍니다 1~16행까지 재귀함수입니다 0이 되면 답변을 print 하고 반복을 멈추기 위해 return을 해줍니다 0이 아니면 반복되는 문장들을 print..

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

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈3 #9085번 "더하기" 파이썬으로 풀었습니다. 입력받은 값의 합을 출력하는 문제입니다 파이썬에는 sum()이 있지만, for문으로 돌려 문제를 풀었습니다 우선 테스트 케이스의 값을 입력받습니다 테스트 케이스만큼 반복할 수 있게 for 문을 작성합니다 for문 안에서 숫자의 갯수 받고, 아랫줄에 숫자를 리스트로 입력 받습니다 for문을 통해 리스트의 값을 반복적으로 더해줍니다 더해진 최종 값을 출력해 줍니다 좋은 하루 되세요~~

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

안녕하세요 백준 알고리즘 문제풀이입니다 브론즈3 #2562번 "최대값" 파이썬으로 풀었습니다. 최대값과 최대값으 위치를 구하는 문제입니다 max()와 index()를 이용하면 되는데.. for문을 돌며 찾는 방법으로 풀었습니다. 항상 그렇지만 다시보면 쉽게 풀수 있는 방법이 있었네요... 체점현황을 통해 다른분의 코드를 볼수 있는데, 코드 길이나 메모리, 시간을 짧게하여 성공한 코드는 보면 도움이 됩니다 앞선 #10818과 다른점은 모든 값이 한줄에 주어지는 것이 아닌 한줄에 하나의 값이 주어지고, 최대값의 위치를 찾아야 합니다 우선 주어질 값이 몇개인지 알기에, 해당 길이의 리스트를 만들어 줍니다 이후 for문을 통해 한줄에 하나씩 값을 저장해 줍니다 최대값을 찾기 위해 for문에 돌릴때, 최대값의 위..

백준 알고리즘 - 브론즈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()안에 별도 공백이 없어도, 문제에 나온 출력과 동일하게 나오게 됩니다 좋은 하루 되세요~~

728x90
반응형