분류 전체보기

    최댓값 만들기(1) - 이중 for문으로 조합사용하기

    나의 풀이 def solution(numbers): answer =0 max = -2147000000 for i in range(0, len(numbers)-1): for j in range(i+1, len(numbers)): gop =numbers[i]*numbers[j] if gop > max: max = gop return max ▶ i는 0부터 시작하고, j는 i+1부터 시작함 ▶ 리스트의 길이가 5이고, 인덱스가 0 1 2 3 4라면 i는 3까지 이동하고, j는 4까지 이동한다. 다른 사람의 풀이1 def solution(numbers): numbers.sort() return numbers[-2] * numbers[-1] ▶ 오름차순으로 정렬한 다음 두번째로 큰 값 * 첫번째로 큰 값 다른사람..

    합성수 찾기★★-두 가지 요소가 동시에 변할 때→이중 for문

    나의 풀이 def solution(n): result =0 a=[] for k in range(1, n+1): cnt=0 #print("k=",k) for i in range(1, k+1): if k % i ==0: cnt=cnt+1 #print("i=", i) #print("cnt=", cnt) if cnt>=3: a.append(k) #print(a) return len(a) ▶k 가 변할 때 i도 같이 변한다. ▶두 가지 요소가 동시에 변하는 경우에는 이중 for문을 쓰자 ▶ k가 선택된 상태에서 i 값이 1부터 k까지 변한다. ▶ 안쪽 for문을 다 돌면 해당 k에 해당하는 약수의 누적갯수가 산출된다. ▶ k에 해당하는 약수의 누적갯수가 3이상일 때만 a리스트에 추가된다. ▶ 최종적으로 a리스트의..

    주사위의 개수 - 프로그래머스

    나의 풀이 def solution(box, n): box_width=box[0] vertical =box[1] height = box[2] box_width_num = box[0]//n vertical_num = box[1]//n height_num = box[2]//n answer = box_width_num * vertical_num*height_num return answer ▶ 가로에 놓일 수 있는 주사위 갯수 별도로 파악 ▶ 세로에 놓일 수 있는 주사위 갯수 별도로 파악 ▶ 높이에 놓일 수 있는 주사위 갯수 별도로 파악 다른 사람이 풀이 def solution(box, n): w,h,d = box[0]//n,box[1]//n,box[2]//n return w*d*h

    3. 문장 속 단어( split(), indexOf(), substring() )

    문제풀이1 import java.util.*; public class Main { public String solution(String str) { String answer=""; int m =Integer.MIN_VALUE; // -2147000000으로 m값이 저장된다. String[] s = str.split(" "); // str.split(구분자)의 반환타입이 String[] 사실을 명심 for(String x : s){ int len=x.length(); if(len>m){ m = len; answer = x; } } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scan..