목록문제 (388)
sm 기술 블로그
chessBoard = ['WBWBWBWB', 'BWBWBWBW']*4 N, M = map(int, input().split()) chess = [input() for _ in range(N)] cntRepository = [] for n in range(N-7): for m in range(M-7): cnt = 0 for i in range(8): for j in range(8): if chess[n+i][m+j] != chessBoard[i][j]: # 8*8로 만든 입력된 체스판 != 위에서 저장한 체스판 cnt += 1 cntRepository.append(cnt) # 입력된 색의 기준으로 cntRepository.append(64-cnt) # 입력된 색의 반대로 print(min(cntRepos..
let person = require("fs").readFileSync(0).toString().split("\n"); let N = parseInt(person[0]); let result = ""; for (let i = 0; i = tmp2[0] || tmp1[1] >= tmp2[1]) { cnt--; } } result += cnt + 1 + " "; } console.log(result); 자세한 설명 ..
N = int(input()) person = [] result = "" for i in range(N): person.append(list(map(int, input().split()))) for j in range(N): cnt = N for k in range(N): if(person[j][0] >= person[k][0] or person[j][1] >= person[k][1]): cnt -= 1 result += str(cnt+1) + " " # 자기자신도 비교하기 때문에 + 1을 해줌 (조건식을 써도 되지만 +1 하는게 더 빠름) print(result) 문제 요약 몸무게와 키가 크면 더 덩치가 크고 순위가 높다. 둘 중 하나만 크면 높다고 할 수 없다. 브루트스 파트로 전체를 다 비교하도록 ..
let input = require("fs").readFileSync("ex.txt").toString().split(" "); let min = 1000000; for (let i = 1; i < parseInt(input[0]); i++) { let num = i; let sum = i; while (parseInt(num) != 0) { sum += parseInt(num) % 10; num /= 10; } if (sum === parseInt(input[0]) && sum < min) { min = i; } } if (min === 1000000) { console.log(0); } else { console.log(min); } 각 자릿수를 더 할 수 있냐 없냐를 물어보는 문제이다. 자세한 설명..