πŸ“• Algorithm/Solved

[μ•Œκ³ λ¦¬μ¦˜ 작슀] max of arr (C++, μ™„μ „ 탐색)

ν•œμ½”λ”© 2020. 7. 9. 11:44
728x90
728x90

문제

<κ·Έλ¦Ό 1>κ³Ό 같이 9×9 κ²©μžνŒμ— 쓰여진 81개의 μžμ—°μˆ˜κ°€ μ£Όμ–΄μ§ˆ λ•Œ, 이듀 쀑 μ΅œλŒ“κ°’μ„ μ°Ύκ³  κ·Έ μ΅œλŒ“κ°’μ΄ λͺ‡ ν–‰ λͺ‡ 열에 μœ„μΉ˜ν•œ μˆ˜μΈμ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

예λ₯Ό λ“€μ–΄, λ‹€μŒκ³Ό 같이 81개의 μˆ˜κ°€ 주어지면

이듀 쀑 μ΅œλŒ“κ°’μ€ 90이고, 이 값은 5ν–‰ 7열에 μœ„μΉ˜ν•œλ‹€.

 

μž…λ ₯

첫째 쀄뢀터 아홉 번째 μ€„κΉŒμ§€ ν•œ 쀄에 아홉 κ°œμ”© μžμ—°μˆ˜κ°€ 주어진닀. μ£Όμ–΄μ§€λŠ” μžμ—°μˆ˜λŠ” 100보닀 μž‘λ‹€.

 

좜λ ₯

첫째 쀄에 μ΅œλŒ“κ°’μ„ 좜λ ₯ν•˜κ³ , λ‘˜μ§Έ 쀄에 μ΅œλŒ“κ°’μ΄ μœ„μΉ˜ν•œ ν–‰ λ²ˆν˜Έμ™€ μ—΄ 번호λ₯Ό λΉˆμΉΈμ„ 사이에 두고 μ°¨λ‘€λ‘œ 좜λ ₯ν•œλ‹€. μ΅œλŒ“κ°’μ΄ 두 개 이상인 경우 κ·Έ 쀑 ν–‰μ˜ λ²ˆν˜Έκ°€ κ°€μž₯ μž‘μ€ 곳의 μœ„μΉ˜λ₯Ό 좜λ ₯ν•œλ‹€. ν–‰ λ²ˆν˜Έλ„ 같은 곳이 μ—¬λŸ¬κ°œμΌ κ²½μš°μ—λŠ” μ—΄ λ²ˆν˜Έκ°€ κ°€μž₯ μž‘μ€ 곳의 μœ„μΉ˜λ₯Ό 좜λ ₯ν•œλ‹€.

 


#include <iostream>
#include <vector>

using namespace std;

int main() {

	int max = 0, cur_i, cur_j;

	for (int i = 0; i < 9; i++) {
		for (int j = 0; j < 9; j++) {
			int tmp;
			cin >> tmp;

			if (tmp > max) {
				max = tmp;
				cur_i = i+1;
				cur_j = j+1;
			}
		}
	}
	cout << max << endl << cur_i << " " << cur_j;
} 

μ‰¬μš΄ λ¬Έμ œμž…λ‹ˆλ‹€. κ·Έλƒ₯ 총 81개의 값을 λ°›μœΌλ©΄μ„œ μ΅œλŒ€κ°’μ„ 비ꡐ해주고, μ΅œλŒ€κ°’μ΄ λ˜λŠ” ν–‰λ ¬μ˜ μœ„μΉ˜λ₯Ό μ €μž₯ν•˜λ©΄μ„œ μ™„μ „ νƒμƒ‰ν•©λ‹ˆλ‹€. 

728x90
λ°˜μ‘ν˜•