Hiya_
๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ
Hiya_
Github
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (154)
    • ๐Ÿ’ปBackend (10)
      • ๋ผ์ด์ง•์บ ํ”„ (6)
      • SSAFY | ์‹ธํ”ผ (2)
      • ์‹ ํ•œDS ๊ธˆ์œตSW ์•„์นด๋ฐ๋ฏธ (2)
    • ๐Ÿ“๋ฌธ์ œ ํ’€์ด (102)
      • ๐ŸงฉBaekjoon (47)
      • ๐ŸงฉProgrammers (42)
      • ๐ŸงฉSWExpertAcademy (10)
      • ๐ŸงฉSofteer (3)
    • ๐Ÿ“‚Language (31)
      • Python (3)
      • JAVA (2)
      • SQL (6)
      • English (19)
    • โœจUseful information (5)
    • ๐Ÿ”‘Algorithms (3)
    • ๐Ÿ™Git (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๊ตฌํ˜„
  • ์ฝ”ํ…Œ
  • 2์ฐจ์› ๋ฐฐ์—ด
  • ํ† ์ต๋ฌด๋ฃŒ์ž๋ฃŒ
  • ํ† ์ต์ ์ˆ˜
  • ๋‹ค์ต์ŠคํŠธ๋ผ
  • ํ† ์ต๊ณต๋ถ€
  • mysql
  • Union
  • ํ† ์ต์‹œํ—˜
  • ํ† ์ต๋…ํ•™
  • BFS
  • ํ•ด์ปค์ŠคํŒŒ๋žญ์ด
  • ๊ทธ๋ฆฌ๋””
  • ์™„์ „ํƒ์ƒ‰
  • ํ•ด์ปค์Šคํ† ์ต
  • ํ† ์ต๊ธฐ์ถœ
  • Python
  • ๋‚ด์žฅํ•จ์ˆ˜
  • sort
  • UNION ALL
  • ๋ฐฑ์ค€
  • BaekJoon
  • ์˜ค๋ธ”์™„
  • ๋ฆฌ์ŠคํŠธ
  • ํ† ์ต๋ฌด๋ฃŒ๊ฐ•์˜
  • greedy algorithm
  • ํ† ์ตRC
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ์ •๋ ฌ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ


Owner : ๊น€์‹ ์˜
Naver Blog

hELLO ยท Designed By ์ •์ƒ์šฐ.
Hiya_

๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ

[SWEA] ํŒŒ์ด์ฌ 1216. ํšŒ๋ฌธ2 | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉSWExpertAcademy

[SWEA] ํŒŒ์ด์ฌ 1216. ํšŒ๋ฌธ2 | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

2023. 4. 26. 12:45

 

~๋ชฉ์ฐจ~

๋ฌธ์ œ

๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ

์ž‘์„ฑ ์ฝ”๋“œ


 

๋ฌธ์ œ

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV14Rq5aABUCFAYi&categoryId=AV14Rq5aABUCFAYi&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=PYTHON&select-1=3&pageSize=10&pageIndex=2 

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ

- ๋ฐœ๊ฒฌ๋œ ํšŒ๋ฌธ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ธธ์ด๋ฅผ ๋ฐœ๊ฒฌ์‹œ๋งˆ๋‹ค ํƒ์š•์Šค๋Ÿฝ๊ฒŒ ์ทจํ•˜๋ฏ€๋กœ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

- ์ฝ์Œ๊ณผ ๋™์‹œ์— ํ–‰๋ณ„ ๊ฐ€์žฅ ๊ธด ํšŒ๋ฌธ ์ฐพ๊ธฐ & ์—ด๊ฐ’์„ ํ–‰์œผ๋กœ ์ €์žฅ(์ดํ›„ ์‚ฌ์šฉ ํ•˜๊ธฐ ์œ„ํ•จ)

- ๊ฐ€์žฅ ๊ธด ํšŒ๋ฌธ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ 100๋ถ€ํ„ฐ 2๊นŒ์ง€ ์ค„์—ฌ๊ฐ€๋ฉฐ ํšŒ๋ฌธ ๋ฐœ๊ฒฌ์‹œ ํƒ์ƒ‰ ์ข…๋ฃŒ

- ํšŒ๋ฌธ์€ ๊ธธ์ด๊ฐ€ n์ผ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํ™€์ˆ˜ list[ : n//2] == list[n//2 + 1 : ][::-1]
์ง์ˆ˜ list[ : n//2] == list[n//2 : ][::-1]

 

๊ทธ๋ฆผ์œผ๋กœ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๊ธธ์ด์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋น„๊ตํ•ด๋ณด๋ฉด ๋œ๋‹ค๋Š” ๋ง์ด๋‹ค.

- ์—ด์—์„œ ๊ฐ€์žฅ ๊ธด ๊ธธ์ด๋ฅผ ๊ตฌํ•œ ๋’ค ์—ด์— ๋Œ€ํ•ด ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋™์ผํ•œ ์ˆ˜ํ–‰์„ ํ•ด์ฃผ๋ฉด ์—ด๊ณผ ํ–‰์ค‘ ๊ฐ€์žฅ ๊ธด ๊ธธ์ด๋ฅผ ์–ป์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

์ž‘์„ฑ ์ฝ”๋“œ

 

for _ in range(1, 11):  # 10๊ฐœ ํ…Œ์ŠคํŠธ
    test = int(input())
    board = [[] for i in range(100)]  # ์—ด์„ ํ–‰ ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„
    maxNum = 0

    for i in range(100):  # ํ–‰
        line = [i for i in input()]
        for l in range(100):  # ๊ฐ ์—ด ๊ฐ’์„ appendํ•˜์—ฌ ํ–‰์œผ๋กœ ๋งŒ๋“ค๊ธฐ
            board[l].append(line[l])

        for j in range(100, 3, -1):  # 100๋ถ€ํ„ฐ 2๊นŒ์ง€ ํšŒ๋ฌธ ๊ธธ์ด๋ฅผ ์ค„์—ฌ๊ฐ€๋ฉฐ ํƒ์ƒ‰
            tf = False  # ํšŒ๋ฌธ์„ ์ฐพ์•˜๋Š”์ง€ ์ฒดํฌ
            for k in range(0, 101-j):
                temp = line[k:k+j]  # ํšŒ๋ฌธ์ด ๋  ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ๊ฒƒ

                if temp[:j//2] == temp[j//2:][::-1] or temp[:j//2] == temp[j//2+1:][::-1]:  # ํšŒ๋ฌธ
                    tf = True
                    break
            if tf:  # ํšŒ๋ฌธ ์ฐพ์•˜์„ ๋•Œ
                maxNum = max(maxNum, j)  # ์ง€๊ธˆ๊นŒ์ง€ ์ฐพ์€ ๊ธธ์ด vs ํ•ด๋‹น ํ–‰ ๊ฐ€์žฅ ๊ธด ๊ฒƒ
                break  # ๊ฐ€์žฅ ๋จผ์ € ์ฐพ์€ ํšŒ๋ฌธ์ด ๊ทธ ํ–‰์˜ ๊ฐ€์žฅ ํฐ ์ˆ˜์ด๋ฏ€๋กœ ๋‹ค์Œ ํ–‰ ํƒ์ƒ‰

    for i in range(100):  # ์—ด, ํ–‰์—์„œ ์–ป์–ด๋‚ธ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ์ˆ˜ํ–‰
        for j in range(100, 3, -1):  # 100๋ถ€ํ„ฐ 2๊นŒ์ง€ ํšŒ๋ฌธ ๊ธธ์ด๋ฅผ ์ค„์—ฌ๊ฐ€๋ฉฐ ํƒ์ƒ‰
            tf = False  # ํšŒ๋ฌธ์„ ์ฐพ์•˜๋Š”์ง€ ์ฒดํฌ
            for k in range(0, 101-j):
                temp = board[i][k:k+j]  # ํšŒ๋ฌธ์ด ๋  ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ๊ฒƒ

                if temp[:j//2] == temp[j//2:][::-1] or temp[:j//2] == temp[j//2+1:][::-1]:  # ํšŒ๋ฌธ
                    tf = True
                    break
            if tf:  # ํšŒ๋ฌธ ์ฐพ์•˜์„ ๋•Œ
                maxNum = max(maxNum, j)  # ์ง€๊ธˆ๊นŒ์ง€ ์ฐพ์€ ๊ธธ์ด vs ํ•ด๋‹น ์—ด ๊ฐ€์žฅ ๊ธด ๊ฒƒ
                break  # ๊ฐ€์žฅ ๋จผ์ € ์ฐพ์€ ํšŒ๋ฌธ์ด ๊ทธ ์—ด์˜ ๊ฐ€์žฅ ํฐ ์ˆ˜์ด๋ฏ€๋กœ ๋‹ค์Œ ์—ด ํƒ์ƒ‰

    print("#{} {}".format(test, maxNum))

 

 

 

๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ์ข‹์•„์š” ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”๐Ÿ’š

 

 

'๐Ÿ“๋ฌธ์ œ ํ’€์ด > ๐ŸงฉSWExpertAcademy' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SWEA] ํŒŒ์ด์ฌ 2814. ์ตœ์žฅ ๊ฒฝ๋กœ | DFS  (0) 2023.05.01
[SWEA] ํŒŒ์ด์ฌ 1860. ์ง„๊ธฐ์˜ ์ตœ๊ณ ๊ธ‰ ๋ถ•์–ด๋นต  (0) 2023.04.30
[SWEA] ํŒŒ์ด์ฌ 220. Magnetic | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜  (0) 2023.04.25
[SWEA] ํŒŒ์ด์ฌ 2817. ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ | BFS  (0) 2023.04.24
[SWEA] ํŒŒ์ด์ฌ 2806. N-Queen | ๋ฐฑํŠธ๋ž˜ํ‚น(Backtracking)  (0) 2023.04.21
    '๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉSWExpertAcademy' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [SWEA] ํŒŒ์ด์ฌ 2814. ์ตœ์žฅ ๊ฒฝ๋กœ | DFS
    • [SWEA] ํŒŒ์ด์ฌ 1860. ์ง„๊ธฐ์˜ ์ตœ๊ณ ๊ธ‰ ๋ถ•์–ด๋นต
    • [SWEA] ํŒŒ์ด์ฌ 220. Magnetic | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • [SWEA] ํŒŒ์ด์ฌ 2817. ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ | BFS
    Hiya_
    Hiya_
    ํ•˜์–€ ์ฒœ๊ณผ ๋ฐ”๋žŒ๋งŒ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”