๐Ÿ‘ฉ‍๐Ÿ’ปStudy Group/๐Ÿซง2020-2021 ๋™๊ณ„ ๋ชจ๊ฐ์ฝ”_์™€ํ”ŒํŒฌ์ผ€์žŒํ˜ธ๋–ก

01์›” 6์ผ ๋ชจ๊ฐ์ฝ”_์™€ํŒฌํ˜ธ 4ํšŒ์ฐจ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ

๋ฟŒ์•ผ._. 2021. 1. 6. 22:55

2021๋…„ 01์›” 6์ผ ์ˆ˜์š”์ผ 20:00~23:00

 

๐Ÿ”ฅ programmers 2๋‹จ๊ณ„ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ชฉ๋ก ๐Ÿ”ฅ

 

   -> 1๋‹จ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ๋ณด๋‹ค ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค.

  • ์Šคํ‚ฌ ํŠธ๋ฆฌ
      - Summer/Winter Coding(~2018)
      - ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ skill๊ณผ ์ƒ๊ด€์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ๋” ๋งต๊ฒŒ
      - ํž™(heap)
      - ์ •ํ™•์„ฑ์€ ๋‹ค ํ†ต๊ณผํ–ˆ์ง€๋งŒ ํšจ์œจ์„ฑ์€ ์‹คํŒจ
        (ํŒŒ์ด์ฌ ๋‚ด์žฅ ํ•จ์ˆ˜ sort๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ)

์Šคํ‚ฌ ํŠธ๋ฆฌ

 

๋ฌธ์ œ ํ’€์ด

 

def solution(skill, skill_trees):
    answer = 0
    
    for i in skill_trees: 
        count=0
        temp=[]
        for j in range(len(i)): #๊ฐ’ ํ•˜๋‚˜์”ฉ ์ฝ์–ด์„œ
            for k in range(len(skill)): 
                if(skill[k]==i[j]): #skill์— ์žˆ๋Š” ๊ธ€์ž๊ฐ€ i์— ๋“ค์–ด์žˆ๋‹ค๋ฉด
                    temp.append(skill[k]) #list์— ์ถ”๊ฐ€
        if(len(temp)==0): #list ๊ธธ์ด๊ฐ€ 1์ด๋ฉด -> skill์— ์ƒ๊ด€์—†์Œ
            answer+=1
        for j in range(len(temp)): 
            if(skill[j]==temp[j]): #list์™€ skill์„ ๋น„๊ต
                count+=1
            if(count==len(temp)): #list๊ธธ์ด์™€ ๊ฐ™๋‹ค๋ฉด ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ skill์— ๋งž๋‹ค๋Š” ์˜๋ฏธ
                answer+=1

    return answer

1) skill_trees ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์˜ค๊ธฐ

    1-1) ๋ฌธ์ž ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์˜ค๊ธฐ
          1-1-1) skill ๋ฌธ์ž ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์˜ค๊ธฐ
                   1-1-1-1) 1-1)์˜ ๋ฌธ์ž์™€ 1-1-1)์œผ ๋ฌธ์ž๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€
    1-2) ๋ฆฌ์ŠคํŠธ ๊ธธ์ด๊ฐ€ 0์ด๋ฉด -> ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ skill๊ณผ ์ƒ๊ด€์—†์œผ๋ฏ€๋กœ answer +1
    1-3) ๋ฆฌ์ŠคํŠธ ์ˆœํšŒ
          1-3-1) ๋ฆฌ์ŠคํŠธ์™€ ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ ๋น„๊ต -> ๊ฐ™์œผ๋ฉด count +1

          1-3-2) count๊ฐ€ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด์™€ ๊ฐ™์œผ๋ฉด -> answer +1