05-13-2022 알고리즘 문제 1~8

·2022년 5월 13일
0
post-custom-banner

1.직사각형 별찍기


a, b = map(int, input().strip().split(' '))
for i in range(b):
    print ("*" * a)

1번문제는 파이썬으로 쉽게 풀 수 있었다. for loop를 이용하여 b의 숫자만큼 아래로 내린담에
거기에다가 a를 곱해주면 끄읕~~
js코드는 대게 이중 for loop를 쓰던데 이해하기가 쪼매 복잡했다.

  1. 짝수와 홀수
    ===py code===

def solution(num):
    if num %2 == 0:
        return "Even"
    else:
        return "Odd"

===js code===

function solution(num) {
    if(num %2 == 0){
        return "Even"
    }
    else
        return "Odd"
}

2번문제는 py와 js로 간단히 풀었다. 생략~~

  1. 가운데 글자 가져오기

===py code===


def solution(s):
    if len(s)%2 ==0:
        return s[len(s)//2-1 : len(s)//2+1]
    else:
        return s[len(s)//2]

처음 보자마자 조금 어려웠다. 짝수일 때 index의 길이만큼 -1에서 : 또 그 길이의 +1까지 해주면 끝

  1. 두 정수 사이의 합

===py code===

def solution(a, b):
    answer = 0
    if a == b :
        answer = a
    elif a > b:
        for i in range(b, a+1):
            answer += i
    else:
        for i in range(a, b+1):
            answer += i
    return answer

===js code===


function solution(a, b) {
    let answer = 0;
    if (a == b){
        answer = a
    }
    if(a > b){
        for (let i=0; i < a; i++)
            answer += i
        answer += a-b
    }
    if(b>a){
        for(let i=0; i < b; i ++)
            answer += i
        answer += b-a
    }   
    return answer;
}

4번 문제 또한 for loop를 이용하여 풀어봤다 처음 접할 땐 어려웠으나 막상 해보고나니 어렵진 않았다
js코드로 구현하는건 시간이 오래 걸렸다 코테가 js로 접하는게 익숙하지 않아서 코드가 너무 길다....

  1. 문자열 정수로 바꾸기

===py code===


def solution(s):
    answer = 0
    if s == str(s):
        answer= int(s)
    return answer
  1. 없는 숫자 더하기

===py code===

def solution(numbers):
    a=45
    answer = 0
    for i in range(len(numbers)):
        answer -= numbers[i]
    answer += a      
    return answer

---딴 사람의 풀이---

def solution(numbers):
    return 45 - sum(numbers)

===js code===


function solution(numbers) {
    let a = 45
    let answer = 0;
    for(let i = 0; i < numbers.length; i++)
        answer -= numbers[i]
    answer += a
    return answer;
}

6번도 for를 사용하요 풀었지만 다른사람들은 배열을 합치는 sum을 사용했다. 한 수 배웠네
js코드는 대부분의 사람들이 reduce를 이용하던데 난 아직 그걸 모른다 reduce 공부하자

  1. 음양 더하기

===py code===


def solution(absolutes, signs):
    answer = 0
    for i in range(len(signs)):
        if signs[i] == False:
            answer-=absolutes[i]
        else:
            answer+=absolutes[i]
    return answer

===js code===


function solution(absolutes, signs) {
    let answer = 0;
    for(let i=0; i < signs.length; i ++)
        if(signs[i]){
            answer += absolutes[i]
        }
        else{
            answer -= absolutes[i]
        }
    return answer;
}

.8 평균 구하기

===py code===


def solution(arr):
    answer = 0
    for i in arr:
        answer += i
    a = answer / len(arr)
    return a

===js code===



function solution(arr) {
    let answer = 0;
    for(let i = 0; i < arr.length;  i++)
        answer += arr[i];
    a = answer / arr.length;
    return a;
}

알고리즘주가 시작됐다. 난이도는 '하' 라서 아직까지는 큰 문제가 없었다.
array와 for loop 중요성을 느낀다.
js로 문제푸는게 익숙지 않아서 조금 힘들다 py가 아직까지는 더 편하다.
내일도 8문제 풀어야 하니까 화이팅 하자

profile
Life is a natural-nine
post-custom-banner

0개의 댓글