본문 바로가기
반응형

알고리즘49

[코딩 테스트 30일 챌린지] : 10 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 OX 시험에서 연속적으로 맞추면 누적 가산점을 준다. 틀린 문제는 0점이다. 시험문제의 채점 결과가 주어졌을 때 총 점수를 계산하라. 입, 출력 예제 입력 : 10 1 0 1 1 1 0 0 1 1 0 출력 : 1 10 풀이 n = int(input()) a = list(map(int, input().split())) # 점수를 합해야 한다. sum = 0 # 가중치 cnt = 0 # 리스트 a에서 첫 번째 인덱스 값부터 끝까지 하나씩 뺴준다. for x in a: # x가 1이랑 같다면 == 점수가 1점일 때 if x == 1: # 연속으로 정답을 맞추면 1씩 증가된 값을 더해야 하기 때문에 cnt에 가중치를 준다. cnt += 1 # 가중치 값을.. 2022. 6. 21.
[코딩 테스트 30일 챌린지] : 09 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 주사위 3개를 던져 규칙에 따라 상금을 받는다. n명이 주사위 게임에 참여했을 때 가장 많은 상금을 받는 사람의 상금을 출력하라.(규칙은 문제 요약에 적지 않겠다.) 입, 출력 예제 입력 : 3 3 3 6 2 2 2 6 2 5 출력 : 12000 풀이 n = int(input()) res = 0 for i in range(n): tmp = input().split() # tmp를 오름차순 정렬해 준다. tmp.sort() # tmp가 지금 문자열로 받아졌기 떄문에 int 형으로 변환해서 받아준다. a, b, c = map(int, tmp) if a == b and b == c: # a, b, c 모두 같은 값이라 아무 값이랑 1000이랑 곱해준다... 2022. 6. 20.
[TIL] : 264 일일 배움을 위한 Today I Learned ! 소경관 오늘 프로젝트 발표를 했는데 실패한 일에 대해 기록했다. 2022.06.17 - [Project/소경관] - [소경관] : 프로젝트 발표와 실패 알고리즘 알고리즘 문제를 풀고 로직을 정리하는 중이다. 문제를 풀어도 이해가 잘 안 가는 경우가 있다. 2022.06.17 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 06 스터디 오늘 첫 CS 스터디를 진행했는데 쌤들 실력이 모두 좋다. 중간에 던지는 질문이 나름 어렵게 느껴진다. 2022. 6. 17.
[코딩 테스트 30일 챌린지] : 06 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 n개 자연수의 합을 구하고, 그 합의 최대 자연수를 출력하자. 단, 각 자연수의 자릿수의 합을 구하는 함수를 꼭 작성한다. 입, 출력 예제 입력 : 3 125 15232 97 출력 : 97 풀이 n = int(input()) a = list(map(int, input().split())) def digit_sum(x): sum=0 for i in str(x): sum+=int(i) return sum max = -2147000000 for x in a: tot=digit_sum(x) if tot>max: max=tot res=x print(res) str() 함수는 받은 값을 다 쪼개서 문자열로 받는다. 123을 넣으면 1 2 3을 따로 값을 문자.. 2022. 6. 17.
[TIL] : 262 일일 배움을 위한 Today I Learned ! 소경관 오늘 진도가 많이 나갔는데 코드를 따로 정리하지 못 했다. 자세한 코드는 깃허브에서 오늘 날짜로 볼 수 있다. 2022.06.15 - [Project/소경관] - [소경관] : 카카오 OCR 사용 코딩 테스트 30일 챌린지 알고리즘 풀이 한 문제를 후딱 끝냈다. 어려워서 다시 봐야 한다. 내일이나 모래 복습 좀 해야겠다. 2022.06.15 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 04 2022. 6. 15.
[코딩 테스트 30일 챌린지] : 04 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 n명의 학생의 평균(소수 첫짜리 반올림)을 구하고, 평균에 가장 가까운 학생은 몇 번째 학생인지 구하라. 입, 출력 예제 입력 : 10 45 73 66 87 92 67 75 79 75 80 출력 : 74 7 풀이 n = int(input()) a = list(map(float, input().split())) avg=round(sum(a)/n) min = 2147000000 for idx, x in enumerate(a): tmp=abs(x-avg) if tmpscore: score=x res=idx+1 print(avg, res) 위에는 전체적인 코드고 아래는 풀이다. 주석으로 각 코드의 설명을 달아두었다. # round()를 사용해서 소수 첫째.. 2022. 6. 15.
[코딩 테스트 30일 챌린지] : 03 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 1부터 100까지 적힌 카드 중 3개를 뽑을 수 있는 모든 경우를 기록해 뽑은 후 값을 더한다. 이 중 k번째로 큰 수를 출력하자. 입, 출력 예제 입력: 10 3 13 15 34 23 45 65 33 11 26 42 출력: 143 풀이 n, k = map(int, input().split()) a = list(map(int, input().split())) res = set() for i in range(n): for j in range(i+1, n): for m in range(j+1, n): res.add(a[i] + a[j] + a[m]) res = list(res) res.sort(reverse=True) print(res[k-1]) n,.. 2022. 6. 14.
[TIL] : 194 일일 배움을 위한 Today I Learned ! 알고리즘 알고리즘 나동빈 유튜버 강의를 보고 있다. 그리디부터 천천히 알려줘서 좋다. 조금 더 공부해 보고 책을 추가로 구매할지 생각해 봐야겠다. 하둡 ResultCount2를 완성하고 있다. 오늘은 드라이버 부분을 코딩했다. 깃허브에서 확인할 수 있다. 2022. 5. 8.
[TIL] : 192 일일 배움을 위한 Today I Learned ! 알고리즘 프로그래머스 프린터 문제를 풀고 commit 해두었다. -- 최근에 너무 달리다 보니 약간 번아웃이 온 것 같다. 약간 휴식을 가지고 운동도 끊어서 다니면서 체력도 좀 길러야겠다. 매일 앉아서 코딩만 하다 보니 아무래도 무기력해지는 게 있는 것 같다. 정적인 직업을 택했으니 동적인 취미를 갖도록 노력해야겠다는 생각이 든다. 2022. 5. 6.
[TIL] : 191 일일 배움을 위한 Today I Learned ! 알고리즘 파이썬으로 이분 탐색 알고리즘을 풀어봤다. 깃 허브에 풀이를 올렸다. 정보처리기사 정리 파일을 보고 있는 중이다. -- 7일 이후에 아마 프로젝트를 본격 시작하게 될 것 같다. 2022. 5. 5.
[TIL] : 190 일일 배움을 위한 Today I Learned ! 알고리즘 파이썬으로 알고리즘 한 문제를 풀었다. 2022.05.04 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 이분 검색 정보처리기사 수제비 카페를 활용해서 공부하고 있는 중이다. 2022. 5. 4.
[프로그래머스] : Python,파이썬 카펫 풀이 def solution(brown, yellow): ab = brown + yellow for b in range(1, ab+1): if (ab / b) % 1 == 0: a = ab/ b if a >= b: if a*2 + b*2 == brown + 4: return [a,b] 방정식을 활용해야 한다. 전제 조건을 살펴보면 카펫의 가로 길이는 세로 길이와 같거나 길다. 즉, 가로 ≥ 세로가 된다. 가로를 a 세로를 b라고 했을 때 갈색과 노란색 칸 수를 구해보면 수식은 2a - 2b - 4 = Brown이 된다. 가로 * 세로를 했을 때 각 겹치는 모서리 부분을 빼줘야 하기 때문에 -4를 해준다. 즉, 저 수식에서 a 값만 구하면 b값을 알 수 있게 된다. for 문으로 전체 네모칸 만큼 반복시킨다. .. 2022. 4. 29.
[TIL] : 174 일일 배움을 위한 Today I Learned ! 알고리즘 알고리즘 한 문제를 풀었다. H지수에 대한 간단한 이해가 필요한 문제였다. 2022.04.18 - [Algorithm/프로그래머스] - [프로그래머스] : H-Index Python,파이썬 풀이 소경관 회원가입 검증 로직을 다듬어주었다. 이 다음은 로그인 검증을 코딩해 주어야 한다. 2022.04.18 - [Project/소경관] - [소경관] : 회원가입 로직 검증 다듬어주기, Spring Bean Validator 사용 2022. 4. 18.
[TIL] : 108 일일 배움을 위한 Today I Learned ! Spring Boot 김영한님 스프링 부트 강의를 오늘도 들었다. 어제 듣고 남은 한 섹션을 모두 다 들었고 내일부터는 또 다음 섹션을 나갈 예정이다. 2022.02.11 - [Framework/Spring Boot] - [Spring Boot] : 오류 코드와 메시지 처리(1) 2022.02.11 - [Framework/Spring Boot] - [Spring Boot] : 오류 코드와 메시지 처리(2) 2022.02.11 - [Framework/Spring Boot] - [Spring Boot] : 어떻게 오류 코드를 설계 할 것인가? 2022.02.11 - [Framework/Spring Boot] - [Spring Boot] : MessageCod.. 2022. 2. 11.
[TIL] : 104 일일 배움을 위한 Today I Learned ! Spring Boot 스프링 부트 김영한님 강의를 들으면서 코딩하고 복습하면서 노션에 기록하고 해당 내용을 블로그에 복붙으로 옮겼다. 2022.02.07 - [Framework/Spring Boot] - [Spring Boot] : 타임리프 반복문 사용 2022.02.07 - [Framework/Spring Boot] - [Spring Boot] : 타임리프 if, unless, switch문 사용 2022.02.07 - [Framework/Spring Boot] - [Spring Boot] : 주석 2022.02.07 - [Framework/Spring Boot] - [Spring Boot] : block 2022.02.07 - [Framework/Sp.. 2022. 2. 7.
[TIL] : 94 일일 배움을 위한 Today I Learned ! 알고리즘 프로그래머스 문제를 오늘도 한 문제 풀었다. 어제 풀어본 문제도 다시 풀어봤다. 2022.01.28 - [Algorithm/프로그래머스] - [프로그래머스] : 최대공약수와 최소공배수 파이썬 풀이 SpringBoot 김영한님 스프링 부트 강의를 오늘 세션 마무리하려고 한다. 강의를 듣고 코딩을 하고 난 뒤에 노션에 다시 보면서 복습 정리를 하고 블로그에 복사 붙여넣기로 올리고 있다. 오늘은 HTTP 응답과 요청에 대해 공부하고 있는 중이다. 2022.01.28 - [Framework/Spring Boot] - [Spring Boot] : HTTP, API 메시지 바디에 직접 입력해 HTTP 응답하기 2022.01.28 - [Framework/Sp.. 2022. 1. 28.
[TIL] : 68 일일 배움을 위한 Today I Learned ! 알고리즘 파이썬 알고리즘 코딩 테스트를 준비하며 한 문제를 풀었다. 2022.01.02 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 사과나무 2022. 1. 2.
[파이썬 알고리즘 문제풀이] : 사과나무 문제 n*n 격자판으로 된 과수원에서 다이아몬드 모양의 격자판만 수확하고 수확한 것의 총 수를 구한다. 주의 풀이 n = int(input()) a = [list(map(int, input().split())) for _ in range(n)] res = 0 s = e = n//2 for i in range(n): # j for문은 e까지 돈다. for j in range(s, e+1): res += a[i][j] if i < n//2: s -= 1 e += 1 else: s += 1 e -= 1 print(res) 2022. 1. 2.
[TIL] : 66 일일 배움을 위한 Today I Learned ! Spring Boot 객체 지향 설계 원칙 중 DIP(의존 관계 역전 법칙)에 대해 공부하고 깃에 올렸다. 조금 더 공부해서 스터디 발표 자료로 활용할 예정이다. 알고리즘 오늘도 역시 코딩 테스트를 위해 알고리즘 문제를 풀었다. 그 외 인프런 30% 할인이 오늘까지인 관계로 빨리 들을 강의가 있나 탐색을 해 봤다. 김영한님 강의를 더 구매해서 듣고 싶었지만 지금 듣고 있는 것도 아직 완강을 못 했기 때문에 잠시 보류하고.. 우선 AWS 관련 짧은 강의를 구매했다. 간단하게 배포하는 방법을 설명하는 강의라 저렴하고 짧은 수강 시간을 가지고 있기 때문에 부담 없이 들을 수 있을 것 같다. 2021. 12. 31.
[파이썬 알고리즘 문제풀이] : 격자판 최대합 문제 n * n의 격자판이 주어지면 각 행, 열, 두 대각선의 합 중 가장 큰 합을 출력한다. 주의 풀이 n = int(input()) a = [list(map(int, input().split())) for _ in range(n)] # 전역 변수 largest = -2147000000 for i in range(n): sum1 = sum2 = 0 #sum1은 행, sum2는 열 for j in range(n): sum1 += a[i][j] sum2 += a[j][i] # 가장 큰 경우를 구해야 하니 largest에 큰 값을 계속 갱신해 준다. if sum1 > largest: largest = sum1 if sum2 > largest: largest = sum2 # 대각선 값 구하기 sum1 = su.. 2021. 12. 31.
[파이썬 알고리즘 문제풀이] : 수들의 합 문제 N개 수로 된 수열이 있을 때 i번째 수부터 j번째 수 까지의 합이 주어지는 값과 같은 경우의 수를 구하시오. 주의 풀이 # 입력 받는 변수 n, m = map(int, input().split()) a = list(map(int, input().split())) # 알고리즘 풀이에 사용 될 전역 변수 lt = 0 rt = 1 tot = a[0] cnt = 0 # 알고리즘 로직 while True: # while문에 True값을 줘서 무한 반복문을 완성시킨다. if tot 2021. 12. 31.
반응형