본문 바로가기

프로그래머스212

Lv0 커피 심부름 https://school.programmers.co.kr/learn/courses/30/lessons/181837 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 주어진 order 배열에서 차가운 것과 뜨거운 것을 구분하지 않고 아메리카노면 +4500, 라떼면 +5000, anyting이라면 +4500을 해주면 되는 문제이다.따라서 for i in order를 통해 주어진 커피들을 보고 그 후에 if ~ elif ~ else문을 이용해서 "americano" in i, "latte" in i를 통해 answer에 각 가격을 더해준 후에 return .. 2024. 6. 28.
Lv0 이진수 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/120885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제를 풀 때는 int형 변환을 할 때 int(변수,(2,8,10,16))중에 하나를 쓰면 2진수, 8진수, 10진수, 16진수로 바꿔준다는 사실을 알아야 한다. 따라서 first와 second에 int(bin1,2)), int(bin2,2))를 해 이진수로 바꿔준다음 fs_sum = bin(first+second)해서 이진수를 더해주었다. 여기서 이진수는 늘 0b를 포함해서 출력이 되기때문에 마.. 2024. 6. 28.
Lv0 소인수분해 https://school.programmers.co.kr/learn/courses/30/lessons/120852 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 소수들의 곱으로 표현이 가능한가?를 물어보는 문제이기때문에 먼저 d = 2를 대입해주는데 2를 대입한 이유는 최소 소수는 2이기때문이다.그 후에 계속해서 n을 나눌수 있나? 없나?가 반복되어야 하며 d는 항상 n보다 작거나 같기때문에while d 그리고 if n % d == 0이라면 나누어질 수 있는 정수기때문에 n = n//d로 바꿔주고 나눌 수 없다면 d의 값을 1 증가하는 방법으로 문.. 2024. 6. 28.
Lv0 컨트롤 제트 https://school.programmers.co.kr/learn/courses/30/lessons/120853 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 스택을 이용해서 풀면 되는데 먼저 스택은 후입선출 구조이기때문에 나중에 들어온 원소가 먼저 추출이 된다.먼저 주어진 문자열을 split()을 이용해 공백으로 구분후 리스트로 만들어 for문을 이용해 s의 원소 하나씩 보기 시작한 후에if~else문을 이용해서 i == 'Z'라면 answer.pop()을 아니라면 answer.append(int(i))를 해주면 되는데 pop은 Z를 만나게 되.. 2024. 6. 27.
Lv0 수열과 구간쿼리4 https://school.programmers.co.kr/learn/courses/30/lessons/181922 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 먼저 주어진 쿼리 배열의 원소를 for문과 m,n,j = i를 이용해서 분배해준다.분배가 된 후 문제를 읽어보면 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 i가 k의 배수이면 arr[i]에 1을 더하라고 나와있기 때문에 for k in range(m,n+1)을 이용해서 m~n의 범위에서 k 값을 j로 나눴을 때 0이라면 arr[k] = arr[k] + 1을 해주면 된다. 2024. 6. 27.
Lv0 2의 영역 https://school.programmers.co.kr/learn/courses/30/lessons/181894 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 배열 안의 2가 있다면 2의 시작위치부터 2가 마지막으로 나오는 위치까지 배열을 return 해줘야 하는 문제이다.먼저 배열 안의 2가 없을 수도 있으니 if 2 not in answer를 이용해 2가 없다면 [-1]를 return 해주도록 한 후에아니라면 arr배열 안에서 arr.index(2), 즉 2의 인덱스 위치를 찾고 그 위치부터 len(arr) - arr[::-1].index(2.. 2024. 6. 26.