본문 바로가기
반응형

코테44

[TIL] : 272 일일 배움을 위한 Today I Learned ! 코딩 테스트 30일 챌린지 알고리즘 한 문제를 풀었다. 이번에는 프로그래머스에 있는 2단계 문제 중 소수 찾기를 풀어봤다. 2022.06.25 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 14 하둡 기존에 학습한 하둡을 다시 살펴봤다. 정의와 잡을 실행하려는 명령어를 찾아봤다. 스프링 인프런 강의를 듣고 있는 중이다. CS 스터디 아침에 스터디가 있어서 발표를 했다. 운영체제 파트를 발표했고 다음 주는 데이터베이스 파트를 공부해 가면 될 것 같다. 오늘은 2명이 참여하지 못 해서 나 포함 2명이 진행했다. 우리 스터디의 총 인원은 4명이다. 2022. 6. 25.
[코딩 테스트 30일 챌린지] : 13 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 1부터 20까지 카드가 오름차순으로 있고 규칙에 맞게 순서대로 카드 위치를 바꾼다. 이때, 마지막 카드들의 배치는 어떻게 되나? 입, 출력 예제 입력 : 5 10 9 13 1 2 3 4 5 6 1 2 3 4 5 6 1 20 1 20 출력 : 1 1 2 3 4 10 9 8 7 13 12 11 5 6 14 15 16 17 18 19 20 풀이 a = list(range(21)) for _ in range(10): s, e = map(int, input().split()) for i in range((e-s+1)//2): a[s+i], a[e-i] = a[e-i], a[s+i] a.pop(0) for x in a: print(x, end=' ') 2022. 6. 24.
[TIL] : 270 일일 배움을 위한 Today I Learned ! 프로젝트 학교 과제 프로젝트를 완료하고 못 한 동기들 프로젝트를 도와주고 있다. 오늘은 비밀번호 찾기, 아이디 찾기와 메일 로직 서버에 관한 내용과 이미지를 왔다갔다 하는 부분, OCR API를 사용하는 방법에 대해 알려주고 전파했다. 코딩 테스트 30일 챌린지 오늘도 알고리즘 한 문제를 풀었다. 로직 풀이 좀 하고 올린다. 2022. 6. 23.
[코딩 테스트 30일 챌린지] : 12 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 문자와 숫자가 섞인 문자열 중 숫자를 추출하고 순서대로 자연수를 만들어 약수의 개수를 출력 입, 출력 예제 입력 : g0en2Ts8eSoft 출력 : 28 6 풀이 s = input() # 누적을 위한 전역변수 res = 0 for x in s: # isdecimal은 0부터 9까지만 찾아준다. # isdigit은 제곱까지 다 찾아준다. if x.isdecimal(): res = res*10+int(x) print(res) cnt = 0 for i in range(1, res+1): if res%i==0: cnt += 1 print(cnt) 2022. 6. 23.
[TIL] : 269 일일 배움을 위한 Today I Learned ! 코딩 테스트 30일 챌린지 코딩 테스트를 풀 시간이 생각보다 많이 없다.. 그래도 시간 내서 억지로 풀고 있긴 한데 위태롭다. 2022.06.22 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 11 Spring Boot 로그 추적기를 만들고 적용해 보았다. 2022.06.22 - [Framework & Library/Spring Boot] - [Spring Boot] : 로그 추적기 2022. 6. 22.
[코딩 테스트 30일 챌린지] : 11 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 n개 문자열 데이터를 입력 받고 앞으로 읽으나 뒤로 읽으나 같은 회문 문자열이면 yes, 아니면 no 출력, 대소문자 구분x 입, 출력 예제 입력 : 5 level moon abcba soon gooG 출력 : #1 YES #2 NO #3 YES #4 NO #5 YE 풀이 n = int(input()) for i in range(n): s = input() # s를 대문자화 시켜준다. s = s.upper() ############ 풀어서 쓴 코드 이 코드로 이해하는 게 좋다. #################### #s열의 길이를 구해준다. size = len(s) # 처음과 끝, 짝지어 비교하면 되므로 나누기 2를 해준 수 만큼 비교해 준다. f.. 2022. 6. 22.
[TIL] : 268 일일 배움을 위한 Today I Learned ! MSA 테스트 프로젝트 gateway를 구현하면서 구현한 방법을 남겼다. 시행착오를 좀 많이 한 것 같다. 2022.06.21 - [Project/토이 프로젝트] - [MSA-Test-Project] : gateway 구현해보기 코딩 테스트 30일 챌린지 알고리즘 한 문제 풀기를 완료했다. 2022.06.21 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 10 2022. 6. 21.
[코딩 테스트 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.
[TIL] : 267 일일 배움을 위한 Today I Learned ! 소경관 오늘 프로젝트 통과를 했다. 드디어 통과를 했는데 잘 못 짠 코드들이 많아서 정리를 좀 해야 할 것 같다. 이 외 MSA도 성공을 했는데 아직 로직 정리를 하지 못 했다. 코딩 테스트 30일 챌린지 오늘도 한 문제를 풀었는데 아직 정리가 안 되었다. 마저 정리하고 올린다. 2022. 6. 20.
[코딩 테스트 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.
[코딩 테스트 30일 챌린지] : 08 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 n개의 자연수가 입력되면 각 자연수를 뒤집는다. 뒤집은 자연수가 소수이면 출력한다. 뒤집었을 때 첫 자리가 0이면 무시한다. 뒤집는 함수, 소수 확인 함수를 만든다. 입, 출력 예제 입력: 1 5 32 55 62 3700 250 출력: 1 23 73 풀이 def reverse(x): # 초기화 하나 한다. res=0 # while 문으로 x가 0보다 클 때 항상 반복문을 돌려준다. while x>0: # x의 1의 자리 숫자가 t가 된다. t=x%10 res=res*10+t # x는 10으로 나눈 몫으로 바꿔진다. x=x//10 # res를 리턴한다. return res def isPrime(x): # x의 값이 1일 수 있다. if x==1: #.. 2022. 6. 19.
[TIL] : 265 일일 배움을 위한 Today I Learned ! 소경관 프로젝트 완료하고 다듬는 중이다 오늘은 if문을 어떻게 줄일 수 있을지에 대해 고민했다. 아직 제대로 줄이진 못 했지만 일단 본 로직에서 메소드로 빼주었다. 2022.06.18 - [Project/소경관] - [소경관] : 로직에서 if문 지양하기 도전.. 코딩 테스트 30일 챌린지 알고리즘 한 문제를 풀었다. 에라토스테네스의 채를 사용한다. 2022.06.18 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 07 msa 토이 프로젝트 진행하기 msa 팀 프로젝트 진행 전에 간단하게 구조를 익힐 수 있는 프로젝트를 진행하려고 한다. 2022. 6. 18.
[코딩 테스트 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] : 263 일일 배움을 위한 Today I Learned ! 소경관 오늘 진행 사항을 간단하게 정리했다. 따로 코드는 없고 깃허브에서 오늘 날짜로 확인이 가능하다. 2022.06.16 - [Project/소경관] - [소경관] : Spring Boot, Gradle jar 배포하기 코딩 테스트 30일 챌린지 오늘도 알고리즘 한 문제를 풀었다. 로직 정리 후 올리고 있다. 2022.06.16 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 05 2022. 6. 16.
[코딩 테스트 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] : 260 일일 배움을 위한 Today I Learned ! 소경관 프로젝트 중 막힌 부분에 대해서 대처 방안을 찾았다. 2022.06.13 - [Project/소경관] - [소경관] : 인식률 안 좋은 테서렉트 대체 방안을 마련하다. 코딩 테스트 30일 챌린지 코딩 테스트 30일 챌린지를 채웠다. 시간이 생각보다 오래 걸린다. 2022.06.13 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 02 2022. 6. 13.
[코딩 테스트 30일 챌린지] : 02 코딩 테스트 30일 챌린지 푼 문제 수 : 1 문제 요약 테스트 케이스가 주어지고 n개의 숫자로 이루어진 숫자열이 주어지면 이 중에 s ~ e까지의 수를 오름차순정렬하고 k번째 수를 출력한다. 입, 출력 예제 입력 : 2 6 2 5 3 5 2 7 3 8 9 15 3 10 3 4 15 8 16 6 6 17 3 10 11 18 7 14 7 15 출력: #1 7 #2 6 풀이 t = int(input()) for i in range(t): n, s, e, k = map(int, input().split()) a = list(map(int, input().split())) a = a[s-1:e] a.sort() print("#%d %d" %(i+1, a[k-1])) 전체 풀이는 위와 같다. 조금 더 자세히 설명.. 2022. 6. 13.
[TIL] : 259 일일 배움을 위한 Today I Learned ! 소경관 오늘 회원 가입할 때 중복 아이디로 가입해도 회원가입 성공으로 메시지가 나가는 오류를 발견해서 고치고 파이썬에서 이미지 프로세싱 처리를 하기 위해 어떻게 파일을 잘 받아서 플라스크로 넘겨줄지 고민하고 있다. 코딩 테스트 30일 챌린지 오늘부터 꾸준하게 하루 1문제 이상 코테 문제 풀기 시작이다. 2022.06.12 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 챌린지 설명과 시작 전 코딩 테스트 실력 상태 체크 2022.06.12 - [챌린지/코딩 테스트 30일 챌린지] - [코딩 테스트 30일 챌린지] : 01 2022. 6. 12.
[프로그래머스] : 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.
[프로그래머스] : x만큼 간격이 있는 n개의 숫자 파이썬 풀이 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 문제 설명 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 제한 조건 xnanswer 25[2,4,6,8,10] 43[4,8,12] -42[-4, -8] 입출력 예 def solution(x, n): answer = [] for i in range(1, n+1): answer.append(x*i) return answer; 정답 풀이 x부터 시작해서 x씩 증가하는 식을 우선 만들어야 한다. for i in range(1, n+1): 을 통해.. 2022. 1. 24.
반응형