전체 글

나의 성장 일기가 되었으면 하는 블로그 contact : ryuhyojung@naver.com
Algorithm

[프로그래머스] Level1 | 최대공약수와 최소공배수 - 파이썬(Python) | 연습문제

https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 프로그래머스 레벨1에 있는 최대공약수와 최고공배수 구하는 문제를 풀었다. 처음 문제를 보고 2개의 for문을 사용해서 최소 공배수와 최대 공약수를 n,m별로 구해야하나 생각을 했는데 그렇게 되면 시간 복잡도가 굉장히 비효율적일 것 같아서 다른 방법을 찾아봤다. 찾아보니까 최대공약수는 유클리드 호제법이라는 알고리즘으로 구할 수 있었..

SQL

프로그래머스 고득점 Kit | 고양이와 개는 몇 마리있을까 | GROUP BY

https://programmers.co.kr/learn/courses/30/lessons/59040 코딩테스트 연습 - 고양이와 개는 몇 마리 있을까 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 프로그래머스에서 SQL 문제도 풀 수 있어서 코테 대비 겸으로 풀기 시작했다. 가볍게 group by로 풀어봤는데 오랜만에 풀어서 그런지 조금 버벅거렸다 ㅎ 간단한 group by 문제였으며 count를 사용해서 몇개가 있는지 확인하는 쿼리..

Algorithm

[프로그래머스] Level1 | 정수 제곱근 판별 - 파이썬(Python) | 연습문제

https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr 프로그래머스에서 레벨1 연습문제를 왕창 풀다가 기억해두면 좋을 것 같은 문제라서 따로 포스팅을 하게 되었다. 정수 제곱급 판별 문제로 math 모듈을 쓰면 엄청 편하다! 정답 코드 import math def solution(n): if math.sqrt(n).is_integer() : return (math.sqrt(n)+1)**..

Algorithm

[프로그래머스] Level1 | 이상한 문자 만들기 - 파이썬(Python) | 연습문제

https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 프로그래머스에서 뭔가 예전에 비슷한 문제를 푼 것만 같았던 '이상한 문자 만들기'를 풀었다. 왜이렇게 푼 것만 같지.. 왜지.. 첫번째 시도 - 테스트 케이스에서 왕창 틀림 def solution(s): answer = [] strings = s.split("") for i in range(len(strings)) : strings[i] = list..

Algorithm

[프로그래머스] Level1 | 시저암호 - 파이썬(Python) | ASCII

https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 프로그래머스 레벨1 시저암호 문제를 풀었다. 처음엔 하드코딩으로 A~Z, a~z 리스트를 만들어서 for문으로 문자를 바꾸려고 했는데 생각보다 잘 안됐다. 더 좋은 방법이 있을 것 같아서 구글링을 했고 아스키 코드로 바꾸는 방법을 알게 되었다. 참고한 사이트 : https://wooaoe.tistory.com/72 정답 코드 def ..

Algorithm

[프로그래머스] Level1 | 로또의 최고 순위와 최저 순위 - 파이썬(Python) | 연습문제

https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 프로그래머스에서 level 1 연습문제인 '로또의 최고 순위와 최저 순위' 문제를 풀었다. for문을 사용하지 않고 번호가 일치하는지 아닌지 비교하는 방법을 떠올리기가 힘들었던 문제였다. 찾아보니 set에서 & 연산으로 공통인 요소를 뽑아낼 수 있었고 이를 사용해 맞춘 번호의 개수를 알아냈다. 정답 코드 def so..

Algorithm

[프로그래머스] Level1 | 소수 만들기 - 파이썬(Python) | combinations

https://programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스에서 토요일에 있었던 코테 준비를 위해 풀었던 소수 만들기 문제이다. 소수 만들고 판별하는 문제에 꽂혀서 왕창 푼 듯 ㅋㅋ 얼마전에 itertools permutations을 사용해서 주어진 수들의 조합을 구했던 기억이 있어서 그걸로 풀었으나 왜인지 모르겠지만 시간 초과로 효율성 테스트에서 통과하지 못했다. 다른 방법이 있나 찾아보니까 combination을 사용해서도 조합을 할 수 있었다. 정답 코드 from itertools import combinations as cb def solution(nums): cnt = 0 for a in cb(nums, 3) : Sum = sum(a) for..

일상/미라클 모닝

미라클모닝 스물일곱번째 주차 (2021.11 둘째주)

너무 힘든 한 주였다. 주말에 코테도 봐야했고 해커톤도 진행해야해서 몸이 2개였으면 좋겠다고 생각했다. 나는 취업준비가 우선이라 해커톤보단 코테 준비나 시험 준비에 집중을 하고 싶은데 조별과제 마냥 무임승차하긴 싫어서 또 신경은 쓰여서 스트레스를 굉장히 많이 받은 일주일이었다... 다음주부턴 매주 시험이 휘몰아쳐서 해커톤을 어떻게 잘 참여할 수 있을지 매일매일 고민할 것 같다.. 미라클모닝 다이어리 pdf 파일이 필요하다면 ? 👇 https://iambeginnerdeveloper.tistory.com/3?category=896946 미라클 모닝을 시작하며 | 미라클모닝 다이어리 pdf, 아이패드에서 사용법, 노타빌리티, 아이패드 매일 같은 시간에 일어나 같은 시간에 출퇴근을 하던 규칙적인 생활을 하다가..

Algorithm

[프로그래머스] Level2 | 카펫 - 파이썬(Python) | 완전탐색

https://programmers.co.kr/learn/courses/30/lessons/42842?language=python3 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 프로그래머스 완전 탐색 레벨2 문제 중 카펫을 풀었다. 문제에서 노란색 격자가 무조건 직사각형이어야 한다는 걸 명시해 줬으면 조금은 쉽게 풀지 않았을까 했다... 이 문제는 https://blog.naver.com/yh1313_/222079784715 해당 링크를 참고해서 풀었다. 해당 링크를 보고 이렇게 쉽게 풀수 있다는 걸 ..

Algorithm

[프로그래머스] Level2 | 소수찾기 - 파이썬(Python) | 완전탐색

https://programmers.co.kr/learn/courses/30/lessons/42839?language=python3 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 프로그래머스에서 레벨1 연습문제인 소수찾기를 해 봤으니 완전 탐색을 이용한 레벨 2 소수찾기도 풀어보았다. 이 문제는 소수만 찾는게 아니라 주어진 문자열로 숫자 조합을 할 수 있어야했다. 숫자 조합을 할 수 있는 방법을 도무지 알 수가 없어서 구글링해서 itertools에서 permutations을 사용할 수 있다는 ..

토오오끼
초보 개발자의 일기장