Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions leetcode3/3978. Unique Middle Element.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class Solution:
def isMiddleElementUnique(self, nums: list[int]) -> bool:
ret = 0
gijun = len(nums)//2
gijun = nums[gijun]

for n in nums:
if n == gijun:
ret+=1

if ret == 1:
return True
else:
return False
42 changes: 42 additions & 0 deletions leetcode3/남효정/1034. Coloring A Border.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# 풀이 실패

class Solution:
def colorBorder(self, grid: List[List[int]], row: int, col: int, color: int) -> List[List[int]]:
m, n = len(grid), len(grid[0])
target_color = grid[row][col]

queue = deque([(row, col)])
visited = {(row, col)}
borders = []

while queue:
r, c = queue.popleft()
is_border = False

# 상하좌우 4방향으로
for dr, dc in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
nr, nc = r + dr, c + dc

# 격자 밖이면 테두리임
if not (0 <= nr < m and 0 <= nc < n):
is_border = True

# 다른 색상이어도 테두리
elif grid[nr][nc] != target_color:
is_border = True

# 아직 안 가본 색상 칸이라면 큐에 추가함
elif (nr, nc) not in visited:
visited.add((nr, nc))
queue.append((nr, nc))

# 테두리로 결정되면 기록
if is_border:
borders.append((r, c))

# 테두리 칸들만 색상 변경
for r, c in borders:
grid[r][c] = color

return grid

12 changes: 12 additions & 0 deletions leetcode3/남효정/3838. Weighted Word Mapping.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class Solution:
def mapWordWeights(self, words: List[str], weights: List[int]) -> str:
ans = []

# ord()의 합과 알파벳 거꾸로 정렬한 순서의 합이 항상 122인 것을 이용
for word in words:
sum_score = 0
for char in word:
sum_score += weights[ord(char)-97]
ans.append(chr(122 - sum_score % 26))

return ''.join(ans)
4 changes: 4 additions & 0 deletions leetcode3/남효정/3978. Unique Middle Element.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 문제 그대로 풀이하면 됨
class Solution:
def isMiddleElementUnique(self, nums: list[int]) -> bool:
return nums.count(nums[len(nums) // 2]) == 1
16 changes: 16 additions & 0 deletions leetcode3/변지협/v2/3978. Unique Middle Element.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

'''
1. 아이디어 :
middle 원소 구하고, 그 원소가 유일한지 확인한다.

2. 시간복잡도 :
o(n)
3. 자료구조/알고리즘 :
'''


class Solution:
def isMiddleElementUnique(self, nums: list[int]) -> bool:
n = len(nums)
middle = nums[n//2]
return True if 1 == len([i for i in nums if i == middle]) else False
11 changes: 11 additions & 0 deletions leetcode3/이진희/3978. Unique Middle Element.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class Solution {
public boolean isMiddleElementUnique(int[] nums) {
int target = nums[nums.length/2];
for(int i=0; i<nums.length; i++) {
if(i == nums.length/2) continue;
if(nums[i] == target) return false;
}

return true;
}
}
9 changes: 9 additions & 0 deletions leetcode3/최민지/3978_Unique Middle Element.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class Solution:
def isMiddleElementUnique(self, nums: list[int]) -> bool:
i = len(nums) // 2
a = nums[i]
nums.remove(a)

if a in nums:
return False
return True
4 changes: 4 additions & 0 deletions leetcode3/최원준/3978. Unique Middle Element.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from collections import defaultdict
class Solution:
def isMiddleElementUnique(self, nums: list[int]) -> bool:
return Counter(nums)[nums[len(nums)//2]] == 1
14 changes: 14 additions & 0 deletions leetcode3/황은지/3978. Unique Middle Element.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**
* @param {number[]} nums
* @return {boolean}
*/
var isMiddleElementUnique = function(nums) {
const middleIndex=Math.floor(nums.length/2);
const middleNum=nums[middleIndex];

for(let i=0;i<nums.length;i++){
if(i===middleIndex) continue;
if(nums[i]===middleNum) return false;
}
return true;
};