본문 바로가기
[LeetCode] 1491. Average Salary Excluding the Minimum and Maximum Salary LeetCode: 1491. Average Salary Excluding the Minimum and Maximum Salary You are given an array of unique integers salary where salary[i] is the salary of the ith employee. Return the average salary of employees excluding the minimum and maximum salary. Answers within 10-5 of the actual answer will be accepted. 주어진 배열에서 최댓값과 최소값을 제외하고 평균을 구하는 문제이다. 성능을 생각해 max와 min, sum 함수를 사용하지 않고 풀어보았다. def ave.. 2022. 9. 18.
[LeetCode]1523. Count Odd Numbers in an Interval Range LeetCode: 1523. Count Odd Numbers in an Interval Range Given two non-negative integers low and high. Return the count of odd numbers between low and high (inclusive) 두 정수 low와 high 사이의 수 중에 있는 홀수의 개수를 구하는 문제이다. 홀수를 찾는 범위에는 higt가 포함된다. low가 3, high가 7이라면 홀수를 찾는 범위는 4, 5, 6, 7(high)가 된다. 처음에는 for문을 사용하여 2로 나누었을 때 나머지가 1인 수들의 개수를 세려고 했다. def countOdds(self, low: int, high: int) -> int: cnt = 0 for .. 2022. 9. 17.
for 문을 사용하지 않고 홀수의 개수 구하기 수의 성질을 이용하여 두 정수의 사이에 있는 홀수의 개수 구하기 반복문을 사용할 경우 생기는 문제 일반적으로 for 반복문을 이용해 범위 안에 있는 모든 숫자를 세는 방법을 많이 사용하지만 수의 범위가 너무 넓을 경우 시간이 지나치게 오래 걸리는 문제가 생긴다. 대안 따라서 정수로 시작값과 끝값이 정해진 경우에는 홀수의 개수를 구할 수의 성질을 이용해서 간단한 사칙연산으로 두 수 사이의 정수를 구할 수 있다. 어려울 것 같지만 굉장히 간단하다. 전제 수의 범위는 시작값은 포함하지 않고 끝값은 포함하는 것으로 전제한다. 시작값은 초과하고 끝값의 이하이다. 예를 들어 3과 8이 주어졌다면 홀수를 찾은 값의 범위는 4, 5, 6, 7, 8이 되고 범위에 있는 수의 개수 N은 5가 된다. 즉, 끝값 - 시작값이.. 2022. 9. 15.
[코드업 문제풀이] 6098 : [기초-리스트] 성실한 개미 코드업 파이썬 기초 알고리즘 문제 100제 중에서 6098번에 대한 풀이이다. 100제 끝. import sys d = [[int(x) for x in sys.stdin.readline().rstrip().split()] for y in range(10)] d[1][1] = 9 i = 1 j = 1 while j < 9: if d[i][j+1] == 0: d[i][j+1] = 9 j += 1 elif d[i][j+1] == 1: if d[i+1][j] == 1: break elif d[i+1][j] == 2: d[i+1][j] = 9 break else: d[i + 1][j] = 9 i += 1 elif d[i][j+1] == 2: d[i][j+1] = 9 break; else: d[j][i+1] = 9.. 2022. 2. 20.
[코드업 문제풀이] 6097 : [기초-리스트] 설탕과자 뽑기 코드업 파이썬 기초 알고리즘 문제 100제 중에서 6097번에 대한 풀이이다. t, d = map(int, input().split()) dimension = [[0 for x in range(d)] for y in range(t)] n = int(input()) location = [[int(x) for x in input().split()] for i in range(n)] for xy in location: l = xy[0] d = xy[1] x = xy[2] - 1 y = xy[3] - 1 if d == 0: for v in range(l): dimension[x][y + v] = 1 else: for v in range(l): dimension[x + v][y] = 1 for i in dimen.. 2022. 2. 19.