728x90
코드테스트 오픈채팅방에서 돌고 돌고 돌고~있는 "나무랄 데 없는 코드트리" 이벤트.
나무랄 데 없는 코드트리 식목일 이벤트
우리 같이, 나무 심어 볼래요?
www.codetree.ai
나도 한 그루의 나무를 심어보겠다. 도전!
총 7그루의 나무를 심을 수 있는데, 결과적으로 3그루밖에 심지 못했다.. 크흡
첫 시도에서 푼 문제 수 만큼의 나무를 테스트응시자의 이름으로 기증해준다고 하니
첫 시도에 최대한 많이 풀어보는게 좋겠다.
나는 남은 문제는 차근차근 한번 다시 풀어봐야겠다.
ps. C#은 지원하지 않아서 python으로 풀어야 했다. 오랜만에 python 공부하고 좋았다.
1번
단순 출력 문제. 나무 한 그루를 멋있게 출력하면 끝.
2번
n = input()
fi_input = input().split(' ')
fi = list()
for i in range(int(n)):
fi.append(int(fi_input[i]))
fi_cp = fi.copy()
maxFi = max(fi)
minFi = min(fi_cp)
fi.pop(fi.index(maxFi))
fi_cp.pop(fi_cp.index(minFi))
nextMaxFi = max(fi)
nextMinFi = min(fi_cp)
maxMultiplyValue = maxFi * nextMaxFi;
minMultiplyValue = minFi * nextMinFi;
resMultiplyValue = maxMultiplyValue if maxMultiplyValue > minMultiplyValue else minMultiplyValue;
print(resMultiplyValue)
비옥 점수에 음수가 올 수 있음을 유의해서 풀어야 한다.
3번
n, m = map(int, input().split(' '))
arrField = [list() for i in range(n)]
# 여기에서 m만큼 잘라주지 않으면 테스트케이스에서 Runtime Error가 난다.
for i in range(n):
thisLineInfo_str = input().split(' ')
thisLinearray = list(thisLineInfo_str[i] for i in range(m))
thisLineInfo = map(int, thisLinearray)
arrField[i] = list(thisLineInfo)
firstL, firstR = map(int, input().split(' '))
secL, secR = map(int, input().split(' '))
for i in range(firstL-1, firstR, 1):
try:
indexOfCriminal = arrField[i].index(1)
arrField[i][indexOfCriminal] = 0
except:
pass
numberOfRestCriminals = 0
for i in range(secL-1, secR, 1):
try:
indexOfCriminal = arrField[i].index(1)
arrField[i][indexOfCriminal] = 0
except:
pass
for i in range(n):
numberOfRestCriminals += arrField[i].count(1)
print(numberOfRestCriminals)
1이 위치한 최초 인덱스에 차례로 0으로 업데이트 해준 후 1의 개수를 구하면 되었던 문제.
나머지는 차근차근 또 풀어봐야지...
728x90
728x90