'Algorithm > 필수 문법' 카테고리의 다른 글
파이썬3 필수 문법 (0) | 2019.07.19 |
---|---|
C++ sort (0) | 2019.04.23 |
코드 예쁘게 붙여 넣기 (0) | 2019.04.09 |
Python, Java, C++ 알고리즘 문제 풀 때 기본 문법 차이 (0) | 2019.04.05 |
파이썬3 필수 문법 (0) | 2019.07.19 |
---|---|
C++ sort (0) | 2019.04.23 |
코드 예쁘게 붙여 넣기 (0) | 2019.04.09 |
Python, Java, C++ 알고리즘 문제 풀 때 기본 문법 차이 (0) | 2019.04.05 |
오늘은 LeetCode를 풀 때 필수 문법에 대해 정리해 보겠습니다.
다양한 언어를 접했던 관계로 LeetCode를 풀 때 상황에 따라 언어를 바꾸다 보니 저도 헷깔려서 정리해 봅니다.
(1) Java
a. System.out.println("a + b = " + c);
b. class{
}
c. int 선언 시 new를 해야함
int test[][] = new int[1000][1000];
d. 배열의 길이
test.length
test[0].length
(2) Python2.x
a. print "a + b = %d", (c);
b.
c.
d. 리스트의 길이
len(test)
len(test[0])
e. for문
for i in range(len(nums)):
(3) C++
a. cout << "a + b = " << c << endl;
b. class 끝에 세미콜론을 붙인다.
class{
};
c. 벡터 선언
// assumes using std::vector for brevity
vector<vector<int>> matrix(RR, vector<int>(CC));
또는
vector<vector<int> > matrix;
for(int i = 0; i<RR; i++) {
vector<int> myvector;
for(int j = 0; j<CC; j++)
{
int tempVal = 0;
cout<<"Enter the number for Matrix 1";
cin>>tempVal;
myvector.push_back(tempVal);
}
matrix.push_back(myvector);
}
d. 벡터의 길이
test.size()
test[0].size()
생각날 때마다 계속 업데이트 하겠습니다.
파이썬3 필수 문법 (0) | 2019.07.19 |
---|---|
C++ sort (0) | 2019.04.23 |
코드 예쁘게 붙여 넣기 (0) | 2019.04.09 |
구글 코딩 스타일 (0) | 2019.04.09 |
회사 역량 시험은 C, C++, Java 만 가능한데, Java는 재귀 함수 사용 시 메모리 문제가 발생할 수 있다고 해서,
C++로 하기로 결정!!
Number of Islands 를 java로 다시 풀어보았다.
이전과 같이, DFS : Depth First Search 깊이 우선 탐색 알고리즘이며 재귀함수 호출 방식이다.
C++ 문법이 헷깔려서 다른 사람 코드를 언뜻 봤는데, 알고리즘이 좋아서 나도 참조해 보았다.
class Solution {
public:
int r_length = 0;
int c_length = 0;
void findOne(vector<vector>& grid, int r, int c){
if(r < 0 || r >= r_length || c < 0 || c >= c_length)
return;
if(grid[r][c] == '0')
return;
grid[r][c] = '0';
findOne(grid, r, c-1);
findOne(grid, r, c+1);
findOne(grid, r-1, c);
findOne(grid, r+1, c);
return;
}
int numIslands(vector<vector>& grid) {
r_length = grid.size();
if(grid.size() == 0)
return 0;
c_length = grid[0].size();
int cnt = 0;
for(int i = 0; i < r_length; i++){
for(int j = 0; j < c_length; j++){
if(grid[i][j] == '1'){
cnt++;
findOne(grid, i, j);
}
}
}
return cnt;
}
};
출처 : https://leetcode.com/problems/number-of-islands/discuss/266379/(98.93-100)-DFS-C%2B%2B
[LeetCode 589. N-ary Tree Preorder Traversal ] Python 트리 구조 기초 (0) | 2019.05.01 |
---|---|
[LeetCode 130. Surrounded Regions] C++, Java (0) | 2019.04.09 |
[Leetcode 492. Construct the Rectangle] Java (0) | 2019.04.02 |
[LeetCode 485] python - 예외 처리에 주의하기.. (0) | 2019.04.02 |
[LeetCode 283] python 리스트(큐/스택) 이용하기 (0) | 2019.04.02 |