본문 바로가기

JS127

[ 자바스크립트(JS), 파이썬(python) ] 프로그래머스 level1 - 행렬의 덧셈 📌 행렬의 덧셈 행과 열의 크기가 같은 2차원의 두 행렬을 서로 더한 결과를 반환하는 문제이다. 1️⃣ 파이썬(python) 풀이 1차원 리스트를 더할 때는 어렵지 않았는데, 2차원끼리 더하려고 하니까 조금 어려웠다. 나는 zip함수를 사용했는데, temp에 zip으로 꺼내온 원소들을 더하고 빈 리스트에 append시켰다. 한 번 돌게 되면 temp를 다시 빈 리스트로 초기화 시키게끔 작성했다. 이 코드는 for range(len)문을 사용하는 것보다 코드의 길이가 아주 조금 줄었지만 가독성이 좋다고 생각하지 않았다. 다른 사람의 코드 중 map과 zip(*x)를 활용한 코드가 마음에 들었다. map은 리스트의 요소를 지정된 함수로 처리해주는 함수이다. 프로그래머스 문제를 풀다 보면 많이 접하는 함수이다.. 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.