본문 바로가기

Algorithm272

[ 파이썬(python) ] 프로그래머스 level1 - 자연수 뒤집어 배열 만들기 📌 자연수 뒤집어 배열 만들기 12345를 [5,4,3,2,1]로 만들면 된다. 💡 나의 풀이 문제를 풀면서 배운점이 있는데, reverse와 reversed의 차이점이다. sorted 사용할 때만 reversed를 사용했었는데, 이런 차이점이 있는것은 몰랐다. 이제부터 까먹지 않도록 잘 외워놔야겠다. array.reverse(): list에서만 사용가능하다. reversed(seq): 메서드(method)나, 시퀀스(sequence)를 지원하는 객체에서 사용 가능하다. sequence(시퀀스): str(문자형), list(리스트), tuple(튜플) 참고로 reverse, reversed 모두 시간복잡도는 O(N)이다. reference: 파이썬 공식문서 - reverse 파이썬 공식문서 - rever.. 2021. 4. 1.
[ 자바스크립트(JS), 파이썬(python) ] 프로그래머스 level1 - 행렬의 덧셈 📌 행렬의 덧셈 행과 열의 크기가 같은 2차원의 두 행렬을 서로 더한 결과를 반환하는 문제이다. 1️⃣ 파이썬(python) 풀이 1차원 리스트를 더할 때는 어렵지 않았는데, 2차원끼리 더하려고 하니까 조금 어려웠다. 나는 zip함수를 사용했는데, temp에 zip으로 꺼내온 원소들을 더하고 빈 리스트에 append시켰다. 한 번 돌게 되면 temp를 다시 빈 리스트로 초기화 시키게끔 작성했다. 이 코드는 for range(len)문을 사용하는 것보다 코드의 길이가 아주 조금 줄었지만 가독성이 좋다고 생각하지 않았다. 다른 사람의 코드 중 map과 zip(*x)를 활용한 코드가 마음에 들었다. map은 리스트의 요소를 지정된 함수로 처리해주는 함수이다. 프로그래머스 문제를 풀다 보면 많이 접하는 함수이다.. 2021. 4. 1.
[ 파이썬(python) ] 코드업 - python 기초 100제 ✏️ 서론 백준 알고리즘을 풀다가 조금 어렵다고 생각되어, 기본을 다시 다져보자는 의미에서 코드업의 python 기초 100제를 풀어보았다. 문제를 풀면서 기존에 알고 있었던 내용들은 과감하게 삭제했고 내가 모르는 문제 혹은 앞으로 비슷한 유형이 나왔을 때 어떤 방법으로 접근해야할지 알아야겠다 싶은 문제들을 작성해봤다. ✏️ 본론 📍 코드업 100문제를 풀면서 알아두면 좋을 팁들 무조건 소숫점 n번째자리까지 출력하는문제는 '%.nf'를 쓰자. bool()형태(True, False)로 반환할 때는 bool(n)을 사용하자. python 정수형에서 0(False)을 제외한 나머지는 True다. 0 and 0 == False AND(&), OR(|), XOR(^), NOT(~) 한 줄 비교식 print(a i.. 2021. 4. 1.
[ 자바스크립트(JS), 파이썬(python) ] 프로그래머스 level1 - 콜라츠 추측 📌 콜라츠 추측 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측이다. 입력된 수가 짝수라면 2로 나눕니다. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 💡 나의 풀이 이전에 백준인가 어디서 한번 풀어봤던 문제였다. while문을 사용하면 쉽게 해결 할 수 있다. 해결 과정은 다음과 같다. n이 짝수 일 때, 기존 n에 2로 나눈 몫을 n으로 저장한다. n이 홀수 일 때, 기존 n에 3을 곱하고 1을 더한 n으로 저장한다. 1번과 2번의 과정을 거쳤다면 cnt를 1 증가시킨다. 만약, cnt가 500번 이상일때는 -1을 반환시키고 종료한다. n이 1보다 작거나 같아진다면 while문을 종료시킨다. JS.. 2021. 3. 31.
[ 파이썬(python) ] 프로그래머스 level1 - 자릿수 더하기 📌 자릿수 더하기 int형으로 주어진 수의 각 자리수의 합을 더하는 문제이다. 💡 나의 풀이 list comprehension으로 사용해야겠다는 생각을 했는데, 값을 누적하는 코드(result+=i)를 어떻게 구현해야할지 잘 몰랐다. 그냥 result 빼고 나열된 원소를 sum으로 구하면된다. 한줄로 표현 할 수 있기 때문에, 2번과 3번은 알고있으면 많이 도움이 될 것 같다. for문을 이용한 방법 list comprehension을 이용한 방법 map함수를 이용한 방법 # 방법1 def solution(s): result = 0 for i in str(s): result += int(i) return result # 방법2 def solution(s): return sum([int(i) for i i.. 2021. 3. 31.