본문 바로가기

Algorithm

(131)
[백준알고리즘] 1798번 수들의 합 (Python) 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 출력 첫째 줄에 자연수 N의 최댓값을 출력한다. 코드 S = int(input()) # 최대값 N = 1 # 자연수 n sum = 0 # 합계 while True : sum += N if sum > S : print(N-1) # 합계가 더 클 경우 N에서 1을 뺀 값 출력 break elif sum == S : # 합계와 S의 값이 같으면 N 그대로 출력 print(N) break N += 1 # 조건에 만족하지 않을 때 1씩 더하기 출처
[해커랭크(HackerRank)] Weather Observation Station 19 (MySQL) 문제 코드 select ROUND(SQRT(POW(MIN(lat_n)-MAX(lat_n),2) + POW(MIN(long_w)-MAX(long_w),2)),4) from station p1(a,c), p2(b,d) a, b = lat_n(위도)의 최소값, 최댓값 = min(lat_n), max(lat_n) c, d = long_w(경도)의 최댓값, 최소값 = min(long_w), max(long_w) 유클리드 거리 = 피타고라스 정의 (a-b)^2 + (c-d)^2 (P1.a - P1.b)^2+ (P2.a - P2.b)^2에서 루트 씌우기 먼저 각각 제곱한 값을 구하기 위해 POW() 함수 씌우기 그 수를 더한 값의 제곱근 구하기 위해 SQRT() 함수 씌우기 소수점 네번째 자리 수까지 반올림하기 위해..
[백준알고리즘] 11653번 소인수분해 (Python) 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 코드 N = int(input()) i = 2 while N != 1 : if N % i == 0 : N = N//i print(i) else : i += 1 N이 분해가 될 때까지 while문 돌리기 N에서 2를 나눠주고 나머지가 0이면 소인수분해에 해당하는 값이기 때문에 N에서 i를 나눈 몫을 다시 N에 넣어줌 해당 조건을 만족하지 않을시 i에 1씩 더해줌 출처
[해커랭크(HackerRank)] New Companies (MySQL) 문제 Amber's conglomerate corporation just acquired some new companies. Each of the companies follows this hierarchy: Given the table schemas below, write a query to print the company_code, founder name, total number of lead managers, total number of senior managers, total number of managers, and total number of employees. Order your output by ascending company_code. Note: The tables may contain d..